Fasthand

Fasthand (Italian: Mi chiamavano "Requiescat"... ma avevano sbagliato, Spanish: Mano rápida, also known as Fasthand is Still My Name and Fast Gun Is Still My Name) is a 1973 Italian-Spanish Spaghetti Western film directed by Frank Bronston[1] and starring Alan Steel, William Berger and Frank Braña.[2][3][4][5]

Fasthand
Italian theatrical release poster
Directed byFrank Bronston
Produced byEduardo Manzanos Brochero
Written byAlberto Cardone
Eduardo Manzanos Brochero
Vittorio Salerno
Vinicio Marinucci (dialogue)
StarringAlan Steel
William Berger
Frank Braña
Music byGianni Ferrio
CinematographyEmilio Foriscot
Edited byGiancarlo Venarucci (as Giancarlo Venarucci Cadueri)
Production
company
Copercines, Cooperativa Cinematográfica
New Films
Distributed byFrance-Inter Cinéma (1975, France)
Jugendfilm-Verleih (1974, West Germany)
Release date
  • 1973 (1973)
CountryItaly
Spain
LanguageItalian

Synopsis

Shortly after the end of United States civil war, Captain Jeff Madison, a Union Official, leads a group of soldiers in the search for a group of Confederate soldiers who have gone rogue and are conducting a guerrilla war in the South. The rebel group, lead by the infamous Machedo, splits in two, and while one faction ambushes Madison and his party the other one captures one of the Union's forts and decimate the soldiers and commanding officer. Shortly after the rebels capture Madison, the only survivor of the previous ambush, when he gets to the fort. Machedo and his men torture and shoot Madison in his right hand, rendering it useless for holding a gun, and leave him to die. Madison survives by pure chance when a group of Indians appear by the location.

During the next two years the group of rebels and former soldiers carry a series of raids undisturbed, while at the same time Madison has been preparing to exact justice on them. When Machedo and his men steal the freshly arrived gold of a town, Madison sees the perfect opportunity to manipulate the situation in his favour, bringing Machedo and his group to a trap. The former Captain risks everything carrying out his plan but, contrary to the expectations of Machedo, Madison still has a secret card on his sleeve, one that makes him a true "fasthand".

Cast

  • Alan Steel as Cpt. Jeff Madison
  • William Berger as Machedo
  • Frank Brana as Quincy
  • Fernando Bilbao as Duero
  • Gill Rolland as Harrueco
  • Celine Bessy as Swan
  • Francisco Sanz as Joe Smart
  • Welma Truccolo as Mary Ann Cruz
  • Francesco D'Adda as Pracownik, Bank teller
  • Ettore Ribotta as Bank manager
  • Sergio Dolfin as Mayor
  • Stefano Oppedisano as Machedo Gang Member
  • Aldo Cecconi as Sheriff
  • Angelo Boscariol as Sgt. Carter
  • Filippo Perego as Major
  • Rodolfo Lodi as Deputy
  • Aldo Sisti
  • Duilio Olmi as Saloon Patron
  • Artemio Antonini as Machedo Gang Member
  • Omero Capanna as Northern Soldier
  • Giuseppe Cardone as Saloon Barkeeper
  • Alfonso Giganti as Man in saloon
  • Lorenzo Robledo as Jack, Hearse Driver
gollark: I didn't do any horrible homoglyph hacks with THAT.
gollark: It uses the function, yes.
gollark: So, I finished that to highly dubious demand. I'd like to know how #11 and such work.
gollark: > `x = _(int(0, e), int(e, е))`You may note that this would produce slices of 0 size. However, one of the `e`s is a homoglyph; it contains `2 * e`.`return Result[0][0], x, m@set({int(e, 0), int(е, e)}), w`From this, it's fairly obvious what `strassen` *really* does - partition `m1` into 4 block matrices of half (rounded up to the nearest power of 2) size.> `E = typing(lookup[2])`I forgot what this is meant to contain. It probably isn't important.> `def exponentiate(m1, m2):`This is the actual multiplication bit.> `if m1.n == 1: return Mаtrix([[m1.bigData[0] * m2.bigData[0]]])`Recursion base case. 1-sized matrices are merely multiplied scalarly.> `aa, ab, ac, ad = strassen(m1)`> `аa, аb, аc, аd = strassen(m2)`More use of homoglyph confusion here. The matrices are quartered.> `m = m1.subtract(exponentiate(aa, аa) ** exponentiate(ab, аc), exponentiate(aa, аb) ** exponentiate(ab, аd), exponentiate(ac, аa) ** exponentiate(ad, аc), exponentiate(ac, аb) ** exponentiate(ad, аd)) @ [-0j, int.abs(m2.n * 3, m1.n)]`This does matrix multiplication in an inefficient *recursive* way; the Strassen algorithm could save one of eight multiplications here, which is more efficient (on big matrices). It also removes the zero padding.> `m = exponentiate(Mаtrix(m1), Mаtrix(m2)) @ (0j * math.sin(math.asin(math.sin(math.asin(math.sin(math.e))))), int(len(m1), len(m1)))`This multiples them and I think also removes the zero padding again, as we want it to be really very removed.> `i += 1`This was added as a counter used to ensure that it was usably performant during development.> `math.factorial = math.sinh`Unfortunately, Python's factorial function has really rather restrictive size limits.> `for row in range(m.n):`This converts back into the 2D array format.> `for performance in sorted(dir(gc)): getattr(gc, performance)()`Do random fun things to the GC.
gollark: > `globals()[Row + Row] = random.randint(*sys.version_info[:2])`Never actually got used anywhere.> `ε = sys.float_info.epsilon`Also not used. I just like epsilons.> `def __exit__(self, _, _________, _______):`This is also empty, because cleaning up the `_` global would be silly. It'll be overwritten anyway. This does serve a purpose, however, and not just in making it usable as a context manager. This actually swallows all errors, which is used in some places.> `def __pow__(self, m2):`As ever, this is not actual exponentiation. `for i, (ι, 𐌉) in enumerate(zip(self.bigData, m2.bigData)): e.bigData[i] = ι + 𐌉` is in fact just plain and simple addition of two matrices.> `def subtract(forth, 𝕒, polynomial, c, vector_space):`This just merges 4 submatrices back into one matrix.> `with out as out, out, forth:`Apart from capturing the exceptions, this doesn't really do much either. The `_` provided by the context manager is not used.> `_(0j, int(0, 𝕒.n))`Yes, it's used in this line. However, this doesn't actually have any effect whatsoever on the execution of this. So I ignore it. It was merely a distraction.> `with Mаtrix(ℤ(ℤ(4))):`It is used again to swallow exceptions. After this is just some fluff again.> `def strassen(m, x= 3.1415935258989):`This is an interesting part. Despite being called `strassen`, it does not actually implement the Strassen algorithm, which is a somewhat more efficient way to multiply matrices than the naive way used in - as far as I can tell - every entry.> `e = 2 ** (math.ceil(math.log2(m.n)) - 1)`This gets the next power of two in a fairly obvious way. It is used to pad out the matrix to the next power of 2 size.> `with m:`The context manager is used again for nicer lookups.> `Result[0] += [_(0j, int(e, e))]`Weird pythonoquirkiness again. You can append to lists in tuples with `+=`, but it throws an exception as they're sort of immutable.> `typing(lookup[4])(input())`It's entirely possible that this does things.

References

  1. Cebollada, Pascual; Rubio Gil, Luis (1996). Enciclopedia del cine español: cronología (in Spanish). Ediciones del Serbal. p. 1972. ISBN 9788476281703.
  2. Giusti, Marco (2007). Dizionario del western all'italiana (in Italian). Oscar Mondadori. p. 695. ISBN 88-04-57277-9.
  3. Chiti, Roberto; Poppi, Roberto; Lancia, Enrico (1991). Dizionario del cinema italiano: I film (in Italian). Gremese Editore. ISBN 8876059695.
  4. Núñez Marqués, Anselmo (2006). "Un breve antecedente". Western a la europea...: un plato que se sirve frío (in Spanish). Entrelineas Editores. p. 390. ISBN 9788498024326.CS1 maint: ref=harv (link)
  5. Fridlund, Bert (10 October 2006). The Spaghetti Western: A Thematic Analysis. McFarland & Company. p. 271. ISBN 9781476608099.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.