C/pow: Różnice pomiędzy wersjami
m link do pliku nagłówkowego |
|||
Linia 31: | Linia 31: | ||
Funkcje obliczają następujące wartości: |
Funkcje obliczają następujące wartości: |
||
* <tt>pow</tt> - <tt>x</tt> do |
* <tt>pow</tt> - <tt>x</tt> do potęgi <tt>y</tt>, tj. <math>x^y</math>, |
||
* <tt>sqrt</tt> - pierwiastek kwadratowy |
* <tt>sqrt</tt> - pierwiastek kwadratowy argumentu, tj. <math>\sqrt x</math>, |
||
* <tt>hypot</tt> - pierwiastek kwadratowy z sumy kwadratów argumentów, tj. <math>\sqrt{x^2 + y^2}</math>, |
* <tt>hypot</tt> - pierwiastek kwadratowy z sumy kwadratów argumentów, tj. <math>\sqrt{x^2 + y^2}</math>, |
||
* <tt>cbrt</tt> - pierwiastek sześcienny |
* <tt>cbrt</tt> - pierwiastek sześcienny argumentu, tj. <math>\sqrt[3] x</math>, |
||
* <tt>fabs</tt> - wartość bezwzględna argumentu, tj. <math>|x|</math>. |
* <tt>fabs</tt> - wartość bezwzględna argumentu, tj. <math>|x|</math>. |
||
Wersja z 00:02, 3 mar 2008
Deklaracja
double pow (double x, double y); float powf(float x, float y); long double powl(long double x, long double y); double sqrt (double x); float sqrtf(float x); long double sqrtl(long double x); double hypot (double x, double y); float hypotf(float x, float y); long double hypotl(long double x, long double y); double cbrt (double x); float cbrtf(float x); long double cbrtl(long double x); double fabs (double x); float fabsf(float x); long double fabsl(long double x);
Plik nagłówkowy
Argumenty
- x, y
- 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:
- pow - x do potęgi y, tj. ,
- sqrt - pierwiastek kwadratowy argumentu, tj. ,
- hypot - pierwiastek kwadratowy z sumy kwadratów argumentów, tj. ,
- cbrt - pierwiastek sześcienny argumentu, tj. ,
- fabs - wartość bezwzględna argumentu, tj. .
Jeżeli x jest liczbą ujemną funkcje sqrt ustawiają zmienną errno na EDOM. Tak samo zachowuje się funkcja pow, jeżeli x jest skończoną ujemną wartością, a y nie jest wartością całkowitą. Błąd dziedziny może także nastąpić, gdy x jest równe zero, a y jest liczbą niedodatnią.
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
W przygotowaniu: Dodać jakiś przykład uzycia. |
Uwagi
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 hypot oraz cbrt 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.