math.h est un groupe de fonctions de la bibliothèque standard du C qui permet d'utiliser un ensemble de fonctions mathématiques de base,, utilisant des nombres à virgule flottante. Les différents standards du C les implémentent différemment, mais en restant toujours rétrocompatibles. La plupart de ces fonctions sont également disponibles dans la bibliothèque standard de C , bien que dans un autre en-tête (les en-têtes du C sont inclus, mais uniquement pour assurer la compatibilité).

Aperçu des fonctions

La plupart des fonctions sont contenues dans l'en-tête math.h (ou dans l'en-tête cmath en C ). Les fonctions qui opèrent sur les entiers, telles que abs, labs, div, ou ldiv sont par contre spécifiées dans stdlib.h (cstdlib en C ).

Toutes les fonctions qui font intervenir des angles utilisent le radian comme unité.

Toutes les fonctions ne sont pas présentes dans la version C89 du standard du C. Pour celles qui le sont, les fonctions n'acceptent que le type double pour les opérations sur des nombres à virgule flottante. Dans la norme C99, cette limitation a été levée en introduisant une nouvelle série de fonctions fonctionnant avec des paramètres de type float ou long double. Ces fonctions sont identifiables respectivement par le suffixe f ou l.

Environnement en virgule flottante

C99 ajoute plusieurs fonctions et types pour contrôler plus finement l’environnement en virgule flottante. Ces fonctions peuvent être utilisées pour contrôler un certain nombre de paramètres qui affectent le calcul avec des nombres à virgule flottante, par exemple le mode d'arrondi, quand les nombres doivent être remis à zéro, etc. Ces fonctions sont définies dans l'en-tête fenv.h (cfenv en C ).

Nombres complexes

C99 ajoute le nouveau mot-clé _Complex (et la macro complex pour plus de commodité) qui permet de gérer des nombres complexes. Ceux-ci se présentent sous la forme de deux nombres à virgule flottante.

C ne propose pas de rétro-compatibilité concernant les nombres complexes, mais fournit la classe std::complex.

Toutes les opérations sur des nombres complexes sont définies dans l'en-tête complex.h. Comme pour les fonctions sur les entiers, les suffixes f et l sont les variantes de la fonction utilisant respectivement les types float complex et long double complex.

Génération de nombres aléatoires

L'en-tête stdlib.h (cstdlib en C ) définit plusieurs fonctions qui peuvent être utilisées pour de la génération statique de nombres aléatoires.

libm

Sous Linux et FreeBSD, les fonctions mathématiques (telles que déclarées dans math.h) sont regroupées séparément dans la bibliothèque mathématique libm. Donc si l'une de ces fonctions est utilisée, la directive -lm doit être ajoutée à l'éditeur de liens.

Notes et références

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « C mathematical functions » (voir la liste des auteurs).

Liens externes

  • math.h : mathematical declarations – Base Definitions Reference, The Single UNIX® Specification, Issue 7 from The Open Group
  • C reference for math functions
  • Portail de la programmation informatique

Include math.h lib — UltraZohm 0.0.1 documentation

Math Libraries for Windows HPC Center

GitHub MustafaNatur/S21_math_lib In this project you will develop

Ошибка C math library Autodesk Community

math.h trong C