Forum: Compiler & IDEs Addtion und Multiplikation


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Walter T. (nicolas)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Danke!

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht 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


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-2 lesenswert
nicht 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)


Bewertung
2 lesenswert
nicht lesenswert
@c-hater:
Lies erst mal das hier:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.