FMA(Fused Multiply Add)コンパイラ組み込み関数

これらのコンパイラ組み込み関数は、以下の計算を 1 回の丸めステップで実行します。

result = a x b + c

乗算して加算するという計算を 1 回の丸めステップで実行すると、2 回の丸めステップで行った場合と比べて精度が向上します。

math.h には、以下のような FMA コンパイラ組み込み関数が宣言されています。

double fma(double a, double b, double c);
float fmaf(float a, float b, float c);
long double fmal(long double a, long double b, long double c);

Note

  • これらのコンパイラ組み込み関数は、C99 モードでのみ使用できます。

  • サポートされるプロセッサは、Cortex-A5 および Cortex-M4 のみです。

  • Cortex-M4 プロセッサを対象にコンパイルする場合は、fmaf() しか使用できません。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711