Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       pow, powf, powl - Potenzfunktionen

BIBLIOTHEK

       Mathematik-Bibliothek (libm, -lm)

Ü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);

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       powf(), powl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc <= 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.

       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.0 mit dem geeigneten Vorzeichen.

       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.

       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 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).

       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.

       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.

       Mit Ausnahme der im Vorgehenden beschriebenen Fälle ist das Ergebnis ein »NaN«, wenn x oder y  ein  »NaN«
       ist.

FEHLER

       In math_error(7) erfahren Sie, wie Sie Fehler bei der Ausführung dieser 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  ein  Fließkomma-Ausnahmefehler  »Überlauf«  (FE_OVERFLOW)
              ausgelöst.

       Ergebnis-Bereichsfehler: Unterschreitung
              errno  wird  auf  ERANGE gesetzt. Es wird der Fließkomma-Ausnahmefehler »Unterlauf« (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-Sicher │
       └───────────────────────────────────────────────────────────────────┴───────────────────────┴───────────┘

STANDARDS

       C11, POSIX.1-2008.

GESCHICHTE

       C99, POSIX.1-2001.

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

FEHLER

   Historische Fehler (jetzt behoben)
       Vor Glibc 2.28 war pow() für bestimmte (seltene) Eingaben auf einigen Architekturen  (z.B.  X86-64)  mehr
       als  10.000-fach  langsamer  als bei nahe beiliegenden Eingaben. Dies betrifft nur pow() und nicht powf()
       oder powl(). Dieses Problem wurde in Glibc 2.28 behoben.

       Eine Reihe von Fehlern in der Glibc-Implementierung von pow() wurde in Glibc 2.16 behoben.

       Bis einschließlich Glibc 2.9 wurde errno bei Auftreten eines Polfehlers auf EDOM gesetzt, statt  auf  das
       von POSIX vorgeschriebene ERANGE. Seit Glibc 2.10 verhält sich Glibc richtig.

       Bis  einschließlich Glibc 2.3.2: wenn ein Überlauf oder Unterlauf auftritt, erzeugt die Glibc-Version von
       pow() einen zusätzlichen (ungültigen) Fließkomma-Ausnahmefehler (FE_INVALID).

SIEHE AUCH

       cbrt(3), cpow(3), sqrt(3)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Maik Messerschmidt  <Maik.Messerschmidt@gmx.net>,
       Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Helge Kreutzmann <debian@helgefjell.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  die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Linux man-pages 6.9.1                              2. Mai 2024                                            pow(3)