fmod, fmodf, fmodl - reszta z dzielenia zmiennoprzecinkowego
Math library (
libm,
-lm)
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
fmodf(),
fmodl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Funkcje te obliczają resztę z dzielenia
x przez
y.
Zwracana wartość to
x-
n*
y, gdzie
n
jest ilorazem
x /
y, zaokrąglonym w kierunku zera do
liczby całkowitej.
Funkcje te, gdy się zakończą pomyślnie,
zwracają wartość
x -
n*
y dla pewnej liczby całkowitej
n, takiej że wartość zwracana ma taki sam znak jak
x oraz wartość mniejszą niż
wartość
y.
Jeśli
x lub
y jest NaN, to zwracane jest NaN.
Jeśli
x jest równe nieskończoności, to
występuje błąd dziedziny i zwracane jest NaN.
Jeśli
y wynosi zero, to występuje błąd
dziedziny i zwracane jest NaN.
Jeśli
x wynosi +0 (-0), a
y jest różne od
zera, to zwracane jest +0 (-0).
Informacje o tym, jak określić, czy wystąpił
błąd podczas wywołania tych funkcji, można
znaleźć w podręczniku
math_error(7).
Mogą wystąpić następujące
błędy:
- Błąd dziedziny: x jest
nieskończonością
-
errno jest ustawiane na EDOM (patrz
także BŁĘDY IMPLEMENTACJI). Rzucany jest
wyjątek niepoprawnej operacji zmiennoprzecinkowej (
FE_INVALID).
- Błąd dziedziny: y jest równe
zero
-
errno jest ustawiane na EDOM. Rzucany jest
wyjątek niepoprawnej operacji zmiennoprzecinkowej (
FE_INVALID).
Informacje o pojęciach używanych w tym rozdziale można
znaleźć w podręczniku
attributes(7).
Interfejs |
Atrybut |
Wartość |
fmod(), fmodf(), fmodl() |
Bezpieczeństwo wątkowe |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Wariant zwracający wartość typu
double jest zgodny
również z SVr4, 4.3BSD.
Before glibc 2.10, the glibc implementation did not set
errno to
EDOM when a domain error occurred for an infinite
x.
remainder(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Adam Byrtek <
[email protected]>, Andrzej Krzysztofowicz
<
[email protected]>, Robert Luberda <
[email protected]> i
Michał Kułach <
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]