C/erf: Różnice pomiędzy wersjami

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania
 
(Brak różnic)

Aktualna wersja na dzień 16:46, 22 maj 2016

Deklaracja

#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

x
argumenty funkcji

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 wersji.

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

2π0xet2dt,
  • erfc - wartość komplemetnarnej funkcji błędu w punkcie x, tj. 1erf(x), czyli
2πx+et2dt,
  • lgamma - wartość logarytmu naturalnego z wartości bezwzględnej wartości funkcji gamma, tj. ln|Γ(x)|,
  • tgamma - wartość funkcji gamma w punkcie x, tj.
0+tx1etdt.

Wartość zwracana

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

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

Uwagi

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.