Loading

NOM

       fma, fmaf, fmal - Multiplication et addition en virgule flottante

SYNOPSIS

       #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);

       Effectuez l’édition des liens avec l’option -lm.

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       fma(), fmaf(), fmal() : _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ; ou
       cc -std=c99

       La  fonction  fma() calcule x * y + z. Le résultat est arrondi à la fin
       suivant le mode d’arrondis (consultez fenv(3)).

VALEUR RENVOYÉE

       Ces fonctions renvoient la valeur de x * y + z, arrondis par la  suite.

       Si x ou y est un NaN, un NaN est renvoyé.

       Si  x  fois  y  est  exactement  un  infini et z est un infini de signe
       opposé, une erreur de domaine se produit et NaN est renvoyé.

       Si x ou y est une valeur infinie et si l’autre vaut 0 et si z n’est pas
       un NaN, une erreur de domaine est produite et un NaN est renvoyé.

       Si  x  ou  y est une valeur infinie et si l’autre vaut 0 et si z est un
       NaN, une erreur de domaine est produite et un NaN est renvoyé.

       Si x fois y n’est pas une valeur infinies fois zéro (ou vice versa)  et
       si z est un NaN, un NaN est renvoyé.

       En  cas  de  dépassement  pour  le résultat, une erreur d’intervalle se
       produit et un infini du bon signe est renvoyé.

       En cas  de  sous-passement  (« underflow »)  du  résultat,  une  erreur
       d’intervalle se produit et un zéro signé est renvoyé.

ERREURS

       Consultez  math_error(7)  pour savoir comment déterminer qui une erreur
       est survenue lors de l’appel de ces fonctions.

       Les erreurs suivantes peuvent se produire :

       Erreur de domaine : x * y + z ou x * y n’est pas correct et z n’est pas
       un NaN
              Une exception de virgule flottante incorrecte  (FE_INVALID)  est
              levée.

       Erreur d’intervalle : dépassement pour le résultat
              Une  exception en virgule flottante de dépassement (FE_OVERFLOW)
              est levée.

       Erreur d’intervalle : sous-passement (« underflow ») du résultat
              Une   exception   en   virgule   flottante   de   sous-passement
              (FE_UNDERFLOW) est levée.

       Ces fonctions ne positionnent pas errno.

VERSIONS

       Ces fonctions ont été introduites dans la glibc dans sa version 2.1.

CONFORMITÉ

       C99, POSIX.1-2001.

VOIR AUSSI

       remainder(3), remquo(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».

                                6 octobre 2008