Provided by: manpages-de-dev_2.5-1_all bug

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():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

       Diese Funktionen geben 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. Es  wird  der  Fließkomma-Ausnahmefehler  »unzulässige
              Fließkommazahl« (FE_INVALID) 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.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌──────────────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├──────────────────────┼───────────────────────┼─────────┤
       │pow(), powf(), powl() │ Multithread-Fähigkeit │ MT-Safe │
       └──────────────────────┴───────────────────────┴─────────┘

KONFORM ZU

       C99, POSIX.1-2001, POSIX.1-2008.

       Die Variante, die double zurückgibt, ist außerdem konform zu SVr4, 4.3BSD, C89.

FEHLER

       Auf 64-Bit kann pow() für bestimmte (seltene) Eingaben mehr als 10.000-fach langsamer  als
       bei nahe beiliegenden Eingaben sein. Dies betrifft nur pow() und nicht powf() oder powl().

       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  4.15  des  Projekts  Linux-man-pages. Eine
       Beschreibung des Projekts, Informationen, wie Fehler  gemeldet  werden  können  sowie  die
       aktuelle Version dieser Seite finden sich unter https://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>.

                                        15. September 2017                                 POW(3)