LOGB(3)

NOM
logb, logbf, logbl - Récupérer l'exposant d'une valeur en virgule flottante

SYNOPSIS
#include <math.h>

double logb(double x);
float logbf(float x);
long double logbl(long double x);

Utilisez -lm à l'édition de liens pour lier avec la bibliothèque mathématique.

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

logb(), logbf(), logbl() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ; ou cc -std=c99

DESCRIPTION
Ces fonctions extraient l'exposant de x et le renvoient sous forme d'une valeur en virgule flottante. Si FLT_RADIX vaut deux, logb(x) est équivalent à floor(log2(x)), excepté que c'est probablement plus rapide.

Si x est dénormalisé, logb() renvoie l'exposant x que l'on aurait s'il était normalisé.

Si x vaut zéro, -HUGE_VAL (respectivement, -HUGE_VALF, -HUGE_VALL) est renvoyé et une erreur de pôle survient. Si x est infini, plus l'infini est renvoyé. Si x est NaN, NaN est renvoyé.

ERREURS
Afin de vérifier si des erreurs surviennent, mettez zéro dans errno et appelez feclearexcept(FE_ALL_EXCEPT) avant d'appeler ces fonctions. Au retour, si errno n'est pas nul ou si fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) n'est pas nul, c'est qu'une erreur s'est produite.

Si une erreur se produit et si (math_errhandling & MATH_ERRNO) n'est pas nul, alors errno est remplie avec ERANGE. Si une erreur se produit et si (math_errhandling & MATH_ERREXCEPT) n'est pas nul, c'est que l'exception « division par zéro en virgule flottante » est déclenchée.

Une erreur de pôle se produit lorsque x vaut zéro.

CONFORMITÉ
C99.

VOIR AUSSI
ilogb(3), log(3)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 12 mai 2006 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 logb ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.