fma(3)

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

BIBLIOTECA
Biblioteca de matematică (libm, -lm)

REZUMAT
#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

DESCRIERE
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)).

VALOAREA RETURNATĂ
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.

ERORI
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:

Eroare de domeniu: x * y + z, sau x * y nu este valid și z nu este un NaN
    Se declanșează o excepție de virgulă mobilă nevalidă (FE_INVALID).

Eroare de interval: depășire de rezultat
    Se declanșează o excepție de supraîncărcare (de depășire a limitei) în virgulă mobilă (FE_OVERFLOW).

Eroare de interval: rezultat sub limită
    Se declanșează o excepție în virgulă mobilă de tip sub-limită (FE_UNDERFLOW).

Aceste funcții nu configurează errno.

VERSIUNI
Aceste funcții au fost adăugate în glibc 2.1.

ATRIBUTE
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

STANDARDE
C99, POSIX.1-2001, POSIX.1-2008.

CONSULTAȚI ȘI
remainder(3), remquo(3)

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

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.