C/fmod

< C

DeklaracjaEdytuj

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

Plik nagłówkowyEdytuj

math.h

ArgumentyEdytuj

x, y
argumenty ilorazu
quo
wskaźnik do części

OpisEdytuj

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 wersji bez lub z przyrostkiem.

Funkcja fmod oblicza resztę z dzielenia x przez y, tzn. taką liczbę  , ż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ę  , że jeżeli y jest różne od zera, zachodzi:  , gdzie   jest liczbą całkowitą najbliższą wartości  . Jeżeli istnieją dwie takie liczby całkowite   jest parzysta.

Funkcja remquo zwraca resztę z dzielenia x przez y jak funkcja remainder i dodatkowo, zapisuje w zmiennej wskazywanej przez quo wartość przystającą modulo   do wartości bezwzględnej wyrażenia  , gdzie   jest wartością zależną od implementacji nie mniejszą niż 3.

Wartość zwracanaEdytuj

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.

Przykład użyciaEdytuj

UwagiEdytuj

Wersje funkcji z przyrostkiem "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 został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.