C/fmod
Z Wikibooks, biblioteki wolnych podręczników.
Spis treści |
[edytuj] Deklaracja
double fmod (double x, double y); float fmodf(float x, float y); long double fmodl(long double x, long double y); double remainder (double x, double y); float remainderf(float x, float y); long double remainderl(long double x, long double y); double remquo (double x, double y, int *quo); float remquof(float x, float y, int *quo); long double remquol(long double x, long double y, int *quo);
[edytuj] Plik nagłówkowy
[edytuj] Argumenty
- x, y
- argumenty ilorazu
- que
- wskaźnik do części
[edytuj] Opis
Funkcje z przyrostkami "f" i "l" to inne wersje odpowiedniej funkcji bez przyrostka operujące na innych typach danych. Z tego powodu w poniższym opisie odwołanie do konkretnej funkcji będzie oznaczać odwołanie się do wszystkich 3 werji bez lub z przyrostkiem.
Funkcja fmod oblicza resztę z dzielenia x przez y, tzn. taką liczbę r, że jeżeli y jest różne od zera, zachodzi:
.
Funkcja remainder zwraca resztę z dzielenia x przez y wymaganą przez IEC 60559, tzn. taką liczbę r, że jeżeli y jest różne od zera, zachodzi: r = x − ny, gdzie n jest liczbą całkowitą najbliższą wartości x / y. Jeżeli istnieją dwie takie liczby całkowite n jest parzysta.
Funkcja remquo zwraca resztę z dzielenia x przez y jak funkcja remainder i dodatkowo, zapisuje w zmiennej wskazywanej przez que wartość przystającą modulo 2k do wartości bezwzględnej wyrażenia (x − r) / y, gdzie k jest wartością zależną od implementacji nie mniejszą niż 3.
[edytuj] Wartość zwracana
Wartości odpowiednich funkcji zgodnie z opisem powyżej. Jeżeli y jest równe zero funkcja może zwrócić zero lub ustawić wartość zmiennej errno na EDOM.
[edytuj] Przykład użycia
| Do zrobienia: Dodać jakiś przykład użycia. |
[edytuj] Uwagi
Wersje funkcji z przyroskiem "f" i "l" (tzn. wersje operujące na zmiennych typu float i long double) zostały wprowadzone dopiero w standardzie C99. Również funkcje remainder oraz remquo zosatły wprowadzone dopiero w standardzie C99.
W przypadku użycia funkcji matematycznych może zaistnieć konieczność podania odpowiedniego argumentu linkerowi, aby ten połączył program z biblioteką matematyczną. Np. na systemach GNU/Linux jest to -lm.