C/erf

Z Wikibooks, biblioteki wolnych podręczników.
< C

Deklaracja[edytuj]

#include <math.h>

double      erf (double      x);
float       erff(float       x);
long double erfl(long double x);

double      erfc (double      x);
float       erfcf(float       x);
long double erfcl(long double x);

double      lgamma (double      x);
float       lgammaf(float       x);
long double lgammal(long double x);

double      tgamma (double      x);
float       tgammaf(float       x);
long double tgammal(long double x);

Argumenty[edytuj]

x
argumenty funkcji

Opis[edytuj]

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.

Funkcje obliczają następujące wartości:

,
  • erfc - wartość komplemetnarnej funkcji błędu w punkcie x, tj. , czyli
,
  • lgamma - wartość logarytmu naturalnego z wartości bezwzględnej wartości funkcji gamma, tj. ,
  • tgamma - wartość funkcji gamma w punkcie x, tj.
.

Wartość zwracana[edytuj]

Wartości odpowiednich funkcji zgodnie z opisem powyżej.

Ponadto, jeżeli wystąpi nadmair funkcja zwraca w wyniku HUGE_VAL z odpowiednim znakiem i ustawia wartość zmeinnej errno na ERANGE. Jeśli wystąpi niedomiar funkcja w wyniku zwraca zero, a to czy do zmiennej errno zostanie zapisana wartość ERANGE zależy od implementacji.

Przykład użycia[edytuj]

Dystrybuanta rozkładu normalnego o wartości oczekiwanej równej zero i wariancji równej jeden 0.5*(1+erf(x/sqrt(2)))

Uwagi[edytuj]

Wszystkie opisane tutaj funkcje zostały wprowadzone dopiero w standardzie C99.

W przypadku użycia funkcji matematycznych może zaistnieć konieczność podania odpowiedneigo argumentu linkerowi, aby ten połączył program z biblioteką matematyczną. Np. na systemach GNU/Linux jest to -lm.