BEZEICHNUNG¶
pow, powf, powl - Potenzfunktionen
ÜBERSICHT¶
#include <math.h>
 
double pow(double x, double y);
 
float powf(float x, float y);
 
long double powl(long double x, long double y);
 
Linken Sie mit der Option 
-lm.
 
Mit Glibc erforderliche Makros (siehe 
feature_test_macros(7)):
 
powf(), 
powl():
_BSD_SOURCE || _SVID_SOURCE ||
  _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
  _POSIX_C_SOURCE >= 200112L;
 
oder 
cc -std=c99 
BESCHREIBUNG¶
Die Funktion 
pow() gibt die 
y-te Potenz von 
x zurück.
RÜCKGABEWERT¶
Bei erfolgreicher Ausführung geben diese Funktionen die 
y-te Potenz
  von 
x zurück.
 
Falls 
x ein endlicher Wert kleiner 0 und 
y endlich und keine ganze
  Zahl (Integer) ist, tritt ein Eingabe-Bereichsfehler (»domain
  error«) auf und es wird ein NaN zurückgegeben.
 
Bei einem Überlauf des Ergebnisses tritt ein Ergebnis-Bereichsfehler ein;
  die Funktionen geben entsprechend 
HUGE_VAL, 
HUGE_VALF oder
  
HUGE_VALL mit dem mathematisch richtigen Vorzeichen zurück.
 
Wenn im Ergebnis eine Bereichsunterschreitung auftritt und das Ergebnis nicht
  darstellbar ist, tritt ein Ergebnis-Bereichsfehler ein. In diesem Fall ist der
  Rückgabewert 0.
 
Mit Ausnahme der im Folgenden beschriebenen Fälle ist das Ergebnis ein
  »NaN«, wenn 
x oder 
y ein »NaN« ist.
 
Wenn 
x den Wert +1 hat, dann ist das Ergebnis 1.0 (sogar wenn 
y
  ein »NaN« ist).
 
Wenn 
y den Wert 0 hat, dann ist das Ergebnis 1.0 (sogar wenn 
x ein
  »NaN« ist).
 
Wenn 
x gleich +0 (-0) und 
y eine ungerade ganze Zahl
  größer als 0 ist, ist das Ergebnis +0 (-0).
 
Wenn 
x gleich 0 und 
y größer als 0 und keine ungerade
  ganze Zahl ist, ist das Ergebnis +0.
 
Wenn 
x gleich -1 und 
y positiv unendlich oder negativ unendlich
  ist, ist das Ergebnis 1.0.
 
Wenn der Absolutwert von 
x kleiner als 1 ist und 
y negativ
  unendlich ist, ist das Ergebnis positiv unendlich.
 
Wenn der Absolutwert von 
x größer als 1 und 
y negativ
  unendlich ist, ist das Ergebnis +0.
 
Wenn der Absolutwert von 
x kleiner als 1 und 
y positiv unendlich
  ist, ist das Ergebnis +0.
 
Wenn der Absolutwert von 
x größer als 1 und 
y positiv
  unendlich ist, ist das Ergebnis positiv unendlich.
 
Wenn 
x negativ unendlich und 
y eine ungerade ganze Zahl (Integer)
  kleiner 0 ist, ist das Ergebnis -0.
 
Wenn 
x negativ unendlich und 
y keine ungerade ganze Zahl kleiner 0
  ist, ist das Ergebnis +0.
 
Wenn 
x negativ unendlich und 
y eine ungerade ganze Zahl
  größer 0 ist, ist das Ergebnis negativ unendlich.
 
Wenn 
x negativ unendlich und 
y größer als 0 und keine
  ungerade ganze Zahl ist, ist das Ergebnis positiv unendlich.
 
Wenn 
x positiv unendlich und 
y kleiner als 0 ist, ist das Ergebnis
  +0.
 
Wenn 
x positiv unendlich und 
y größer als Null ist, ist
  das Ergebnis positiv unendlich.
 
Wenn 
x gleich +0 oder -0 und 
y eine ungerade ganze Zahl kleiner
  als 0 ist, tritt ein Polfehler ein. Der Rückgabewert ist dann
  
HUGE_VAL, 
HUGE_VALF oder 
HUGE_VALL mit dem Vorzeichen von
  
x.
 
Wenn 
x gleich +0 oder -0 ist und 
y kleiner als 0 und keine
  ungerade ganze Zahl ist, tritt ein Polfehler ein. Der Rückgabewert ist
  dann 
HUGE_VAL, 
HUGE_VALF oder 
HUGE_VALL.
FEHLER¶
In 
math_error(7) erfahren Sie, wie Sie Fehler bei der Ausführung
  mathematischer Funktionen erkennen.
Die folgenden Fehler können auftreten:
  - Eingabe-Bereichsfehler: x ist negativ und y
    ist eine endliche, nicht ganze Zahl (noninteger).
 
  - errno wird auf EDOM gesetzt. Ein
      Fließkomma-Ausnahmefehler ( FE_INVALID) wird
    ausgelöst.
 
  - Polfehler: x ist 0 und y ist negativ.
 
  - errno wird auf ERANGE gesetzt (siehe aber
      FEHLER). Es wird der Fließkomma-Ausnahmefehler »Division durch
      Null« ( FE_DIVBYZERO) ausgelöst.
 
  - Ergebnis-Bereichsfehler: Überlauf
 
  - errno wird auf ERANGE gesetzt. Es wird der
      Fließkomma-Ausnahmefehler »Überlauf« (
      FE_OVERFLOW) ausgelöst.
 
  - Ergebnis-Bereichsfehler: Unterschreitung
 
  - errno wird auf ERANGE gesetzt. Es wird der
      Fließkomma-Ausnahmefehler »Unterschreitung« (
      FE_UNDERFLOW) ausgelöst.
 
C99, POSIX.1-2001. Die Variante, die 
double zurückgibt, ist
  außerdem konform zu SVr4, 4.3BSD, C89.
FEHLER¶
Bis Version 2.9 der Glibc wird beim Eintreten eines Polfehlers 
errno auf
  
EDOM gesetzt und nicht auf 
ERANGE, wie es POSIX fordert. Seit
  Version 2.10 verhält sich Glibc korrekt.
 
Wenn 
x negativ ist, bewirken große negative oder positive
  
y-Werte als Ergebnis der Funktion ein NaN, setzen 
errno auf
  
EDOM und lösen den Fließkomma-Ausnahmefehler
  
FE_INVALID aus. Dieses Verhalten ist mit 
pow() zu beobachten,
  wenn der Absolutwert von 
y größer als etwa 9.223373e18 ist.
 
Bis einschließlich Version 2.3.2: wenn ein Überlauf oder Unterlauf
  auftritt, erzeugt die Glibc-Version von 
pow() einen zusätzlichen
  (ungültige) Fließkomma-Ausnahmefehler ( 
FE_INVALID).
SIEHE AUCH¶
cbrt(3), 
cpow(3), 
sqrt(3)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
  
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
  gemeldet werden können, finden sich unter
  
http://www.kernel.org/doc/man-pages/.
 
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Maik Messerschmidt
  <Maik.Messerschmidt@gmx.net> und Martin Eberhard Schauer
  <Martin.E.Schauer@gmx.de> erstellt.
 
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
  License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
  KEINE HAFTUNG übernommen.
 
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
  Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.