Forum: Compiler & IDEs Addtion und Multiplikation


von Walter T. (nicolas)


Lesenswert?

Guten Abend,

für die Operation Addition und Multiplikation (also a*b+c) gab es einen 
Namen, der so ähnlich wie "addmul" oder so war. Hat den Namen jemand 
parat?

von c-hater (Gast)


Lesenswert?

Walter T. schrieb:
> Guten Abend,
>
> für die Operation Addition und Multiplikation (also a*b+c) gab es einen
> Namen, der so ähnlich wie "addmul" oder so war. Hat den Namen jemand
> parat?

https://de.wikipedia.org/wiki/Multiply-Accumulate

von Walter T. (nicolas)


Lesenswert?

Danke!

von Harald W. (wilhelms)


Lesenswert?

Walter T. schrieb:

> für die Operation Addition und Multiplikation (also a*b+c) gab es einen
> Namen,

Produktsumme. Sowas braucht man z.B. zum Bau von digitalen Filtern.

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Ab C99 gibt's eigene Funktionen dafür: fma und fmaf unf fmal wobei "fma" 
steht für "fused multiply-add".

Wobei diese sich von IEEE a·b+c dadurch unterscheiden, dass das 
Zwischenergebnis nach der Multiplikation nicht gerundet wird bzw. nicht 
gerundet werden muss.

Wobei man 3 das "floating-point multiply and add" nennt, was a·b+c 
allerdings auch ist...

: Bearbeitet durch User
von Walter T. (nicolas)


Lesenswert?

Hallo Johann,

danke für die Ergänzung. Das ist ja insbesondere für die ARM-Fraktion 
nützlich:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472k/chr1359125006257.html

von c-hater (Gast)


Lesenswert?

Johann L. schrieb:

> Ab C99 gibt's eigene Funktionen dafür: fma und fmaf unf fmal wobei "fma"
> steht für "fused multiply-add".

Was allerdings eine Erweiterung des Kerns von MAC darstellt, nämlich das 
Auffangen der Überlaufe.

> Wobei diese sich von IEEE a·b+c dadurch unterscheiden, dass das
> Zwischenergebnis nach der Multiplikation nicht gerundet wird bzw. nicht
> gerundet werden muss.

Die Runderei ist wieder ein ganz anderes Thema, das ist völlig 
unabhängig vom "fusing", kann aber natürlich damit kombiniert werden. 
Letztlich auch eine Erweiterung des grundsätzlichen MAC. IMHO sogar 
deutlich nützlicher als das fusing, denn wenn dies irgendeinen Nutzen 
bringt, zeigt das eigentlich nur, dass das Problem suboptimal umgesetzt 
wurde...

Oder anders ausgedrückt: fusing dient eigentlich im Wesentlichen dazu, 
Designschwächen zu verbergen und trotzdem noch was wenigstens halbwegs 
brauchbares rauszubekommen...

von Yalu X. (yalu) (Moderator)


Lesenswert?

@c-hater:
Lies erst mal das hier:

  https://de.wikipedia.org/wiki/Fused_multiply-add

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.