fma(3) Library Functions Manual fma(3)

fma, fmaf, fmal - multiplicare și adunare în virgulă mobilă

Biblioteca de matematică (libm, -lm)

#include <math.h>
double fma(double x, double y, double z);
float fmaf(float x, float y, float z);
long double fmal(long double x, long double y, long double z);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

fma(), fmaf(), fmal():

    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

Aceste funcții calculează x * y + z. Rezultatul este rotunjit ca o operație ternară în funcție de modul de rotunjire curent (a se vedea fenv(3)).

Aceste funcții returnează valoarea x * y + z, rotunjită ca o operație ternară.

Dacă x sau y nu este un număr („Not a Number”: NaN), se returnează un NaN.

Dacă x ori y este un infinit exact, iar z este un infinit cu semnul opus, apare o eroare de domeniu și se returnează un NaN.

Dacă unul dintre x sau y este un infinit, celălalt este 0, iar z nu este un NaN, apare o eroare de domeniu și se returnează un NaN.

Dacă unul dintre x sau y este un infinit, celălalt este 0, iar z este un NaN, apare o eroare de domeniu și se returnează un NaN.

Dacă x înmulțit cu y nu este un infinit înmulțit cu zero (sau viceversa), iar z este un NaN, se returnează un NaN.

În cazul în care rezultatul este depășit, se produce o eroare de interval și se returnează un infinit cu semnul corect.

În cazul în care rezultatul nu este suficient de mare (sublimită), apare o eroare de interval și se returnează un 0 cu semn.

Consultați math_error(7) pentru informații despre cum să determinați dacă a apărut o eroare la apelarea acestor funcții.

Pot apărea următoarele erori:

Se declanșează o excepție de virgulă mobilă nevalidă (FE_INVALID).
Se declanșează o excepție de supraîncărcare (de depășire a limitei) în virgulă mobilă (FE_OVERFLOW).
Se declanșează o excepție în virgulă mobilă de tip sub-limită (FE_UNDERFLOW).

Aceste funcții nu configurează errno.

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
fma(), fmaf(), fmal() Siguranța firelor MT-Safe

C11, POSIX.1-2008.

glibc 2.1. C99, POSIX.1-2001.

remainder(3), remquo(3)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.8