Функција фма () узима три аргумента к, и и з и враћа к * и + з без губитка прецизности
Ова функција је дефинисана у заглављу датотеке.
прототип фма () (од Ц ++ 11 стандарда)
двоструки фма (двоструки к, двоструки и, двоструки з); флоат фма (флоат к, флоат и, флоат з); дуги дупли фма (дуги двоструки к, дуги двоструки и, дуги двоструки з); Промовисани фма (Типе1 к, Типе2 и, Типе з); // За комбинације аритметичких типова
Пошто је Ц ++ 11, ако је било који аргумент прослеђен у фма () long double
, повратни тип Промотед је long double
. Ако није, тип повратка Промотед је double
.
(Математика) к * и + з = фма (к, и, з) (програмирање на Ц ++)
фма () параметри
Фма () узима три аргумента.
- х - први аргумент који се множи.
- и - Други аргумент који се множи са к.
- з - Трећи аргумент који се додаје производу к и и.
фма () Повратна вредност
Функција фма () враћа се x*y+z
као да је израчуната до бесконачне прецизности и заокружена једном како би одговарала типу резултата.
Пример: Како функционише фма ()?
#include using namespace std; int main() ( double x = 2.0, y = 3.1, z = 3.0, result; result = fma(x, y, z); cout << "fma(x, y, z) = " << result << endl; long double xLD = 3.4, resultLD; resultLD = fma(xLD, y, z); cout << "fma(xLD, y, z) = " << resultLD << endl; return 0; )
Када покренете програм, излаз ће бити:
фма (к, и, з) = 9,2 фма (кЛД, и, з) = 13,54