Datei math.h

Zweck

Definiert mathematische Subroutinen und Konstanten.

Beschreibung

Die Headerdatei /usr/include/math.h enthält Deklarationen aller Subroutinen in der Math-Bibliothek (libm.a) und verschiedener Subroutinen in der C-Standardbibliothek (libc.a), die Gleitkommawerte zurückgeben.

Die Datei math.h definiert unter anderem das folgende Makro, das als Fehlerrückgabewert verwendet wird.

Element Beschreibung
HUGE_VAL Gibt den Maximalwert einer Gleitkommazahl mit doppelter Genauigkeit an: + unendlich auf Maschinen, die IEEE-754 und DBL_MAX andernfalls unterstützen.

Wenn Sie die Vorprozessorvariable __MATH__ definieren, bevor Sie die Datei math.h einschließen, definiert die Datei math.h Makros, die bewirken, dass die Namen bestimmter mathematischer Subroutinen dem Compiler als __xxxxerscheinen. Die folgenden Namen werden mit dem Präfix __ (Doppelunterstrich) neu definiert:

Element Beschreibung
Exp Sünde
Asin log
COS Acos
log10 Gelbbraun
Atan Quadratwurzel
Fabs atan2

Diese Sondernamen weisen den C-Compiler an, Code zu generieren, der den Systemaufwand der Subroutinen der Bibliothek Math vermeidet und direkt Gleitkommasubroutinen im kompatiblen Modus ausgibt. Die Variable __MATH__ ist standardmäßig definiert.

Wenn die Variable _XOPEN_SOURCE definiert ist, werden die folgenden mathematischen Konstanten zur Vereinfachung definiert. Die Werte haben den Typ 'double' und sind genau auf die Genauigkeit dieses Typs. Das heißt, der Maschinenwert ist der mathematische Wert, auf doppelte Genauigkeit gerundet.

Element Beschreibung
M_E Basis für natürliche Logarithmen (E)
M_LOG2E Base-2 Logarithmus von E
M_LOG10E Base-10 Logarithmus von E
M_LN2 Natürlicher Logarithmus von 2
M_LN10 Natürlicher Logarithmus von 10
M_PI Pi, das Verhältnis des Umfangs eines Kreises zu seinem Durchmesser
M_PI_2 Wert von pi dividiert durch 2
M_PI_4 Wert von pi dividiert durch 4
M_1_PI Wert von 1 dividiert durch pi
M_2_PI Wert von 2 dividiert durch pi
M_2_SQRTPI Wert von 2 dividiert durch die positive Quadratwurzel von pi
M_SQRT2 Positive Quadratwurzel von 2
M_SQRT1_2 Positive Quadratwurzel von 1/2