C/fmod

Z Wikibooks, biblioteki wolnych podręczników.

< C

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

math.h

[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:

\exists_{n \in \mathbb{Z}} \ r = x - ny \ \wedge\ xy \ge 0 \ \wedge\ |r| < |y|.

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 = xny, 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 (xr) / 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 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.