fmod(3)

BEZEICHNUNG
fmod, fmodf, fmodl - Funktionen berechnen Divisionsrest als Fließkommazahl

BIBLIOTHEK
Mathematik-Bibliothek (libm, -lm)

ÜBERSICHT
#include <math.h>

double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);

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

fmodf(), fmodl():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
        || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG
Diese Funktionen berechnen den Rest der Division von x durch y als Fließkommazahl. Der Rückgabewert ist x - n * y, wobei n der zur Ganzzahl abgerundete Quotient von x / y ist.

Um den Modulus zu erhalten, genauer das kleinste positive Residuum, müssen Sie die Ausgabe von fmod wie folgt anpassen:

z = fmod(x, y);
if (z < 0)
	z += fabs(y);

Alternativ können Sie das als fmod(fmod(x, y) + y, y) formulieren, aber das zweite fmod() kostet deutlich mehr als eine Ausführungs-Verzweigung.

RÜCKGABEWERT
Bei Erfolg geben diese Funktionen den Wert x - n*y für diejenige Ganzzahl n zurück, so dass der zurückgegebene Wert das gleiche Vorzeichen wie x hat und einen Betrag, der kleiner ist als der Betrag von y.

Falls x oder y keine Zahlen (»NaN«) sind, wird »NaN« zurückgegeben.

Falls x unendlich ist, tritt ein Wertebereichsfehler auf und es wird »NaN« zurückgegeben.

Falls y Null ist, tritt ein Wertebereichsfehler auf und es wird »NaN« zurückgegeben.

Falls x +0 (-0) und y nicht Null ist, wird +0 (-0) zurückgegeben.

FEHLER
In math_error(7) erfahren Sie, wie Sie Fehler bei der Ausführung dieser Funktionen erkennen.

Die folgenden Fehler können auftreten:

Wertebereichsfehler: x ist unendlich
    errno wird auf EDOM gesetzt (siehe aber FEHLER). Es wird der Fließkomma-Ausnahmefehler »unzulässige Fließkommazahl« (FE_INVALID) ausgelöst.

Wertebereichsfehler: y ist Null
    errno wird auf EDOM gesetzt. Es wird der Fließkomma-Ausnahmefehler »unzulässige Fließkommazahl« (FE_INVALID) ausgelöst.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
fmod(), fmodf(), fmodl() | 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
Vor Glibc 2.10 setzte die Glibc-Implementierung errno nicht auf EDOM, wenn ein Wertebereichsfehler für ein unendliches x auftrat.

BEISPIELE
Der Aufruf fmod(372, 360) liefert 12 zurück.

Der Aufruf fmod(-372, 360) liefert -12 zurück.

Der Aufruf fmod(-372, -360) liefert auch -12 zurück.

SIEHE AUCH
remainder(3)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <fw@math.uni-sb.de>, Chris Leick <c.leick@vollbio.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.