Fma () işlevi, x, y ve z olmak üzere üç bağımsız değişken alır ve hassasiyeti kaybetmeden x * y + z döndürür
Bu işlev başlık dosyasında tanımlanmıştır.
fma () prototipi (C ++ 11 standardından itibaren)
çift fma (çift x, çift y, çift z); float fma (float x, float y, float z); uzun çift fma (uzun çift x, uzun çift y, uzun çift z); Yükseltilmiş fma (Tür1 x, Tür2 y, Tür z); // Aritmetik türlerin kombinasyonları için
C ++ 11'den beri, fma () 'ya iletilen herhangi bir argüman varsa long double
, dönüş türü Promoted olur long double
. Değilse, Promoted dönüş türü double
.
(Matematik) x * y + z = fma (x, y, z) (C ++ Programlama)
fma () Parametreler
Fma () üç argüman alır.
- x - Çarpılacak ilk argüman.
- y - x ile çarpılacak ikinci bağımsız değişken.
- z - x ve y'nin ürününe eklenecek üçüncü bağımsız değişken.
fma () Dönüş Değeri
Fma () işlevi x*y+z
, sonsuz kesinliğe kadar hesaplanmış ve sonuç türüne uyması için bir kez yuvarlanmış gibi döner .
Örnek: fma () nasıl çalışır?
#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; )
Programı çalıştırdığınızda, çıktı:
fma (x, y, z) = 9,2 fma (xLD, y, z) = 13,54