C/pow: Różnice pomiędzy wersjami
mNie podano opisu zmian |
m Połączone wszystkie funkcje potęgowe; Dokładniejszy opis |
||
Linia 1: | Linia 1: | ||
===Deklaracja=== |
=== Deklaracja === |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
float powf(flaot x, float y); |
|||
long double powl(long double x, long double y); |
|||
⚫ | |||
double sqrt (double x); |
|||
float sqrtf(flaot x); |
|||
long double sqrtl(long double x); |
|||
⚫ | |||
double hypot (double x, double y); |
|||
float hypotf(flaot x, float y); |
|||
long double hypotl(long double x, long double y); |
|||
double cbrt (double x); |
|||
float cbrtf(flaot x); |
|||
long double cbrtl(long double x); |
|||
double fabs (double x); |
|||
float fabsf(flaot x); |
|||
long double fabsl(long double x); |
|||
=== 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 werji. |
|||
Funkcje obliczają następujące wartości: |
|||
: [[C/Biblioteka standardowa/Indeks tematyczny#math.h|math.h]] |
|||
* <tt>pow</tt> - <tt>x</tt> do potęgu <tt>y</tt>, tj. <math>x^y</math>, |
|||
* <tt>sqrt</tt> - pierwiastek kwadratowy argumenty, 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>cbrt</tt> - pierwiastek sześcienny argumenty, tj. <math>\sqrt[3] x</math>, |
|||
* <tt>fabs</tt> - wartość bezwzględna argumentu, tj. <math>|x|</math>. |
|||
Jeżeli <tt>x</tt> jest liczbą ujemną funkcje sqrt ustawiają zmienną [[C/errno|errno]] na [[C/EDOM|EDOM]]. Tak samo zachowuje się funkcja pow, jeżeli <tt>x</tt> jest skończoną ujemną wartością, a <tt>y</tt> nie jest wartością całkowitą. Błąd dziedziny może także nastąpić, gdy <tt>x</tt> jest równe zero, a <tt>y</tt> jest liczbą niedodatnią. |
|||
=== |
=== Wartość zwracana === |
||
Wartości odpowiednich funkcji zgodnie z opisem powyżej. |
|||
Funkcja pow zwraca zmienną x podniesioną do potęgi y. |
|||
Ponadto, jeżeli wystąpi nadmair funkcja zwraca w wyniku [[C/HUGE_VAL|HUGE_VAL]] z odpowiednim znakiem i ustawia wartość zmeinnej errno na [[C/ERANGE|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. |
|||
⚫ | |||
#include <stdio.h> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{{TODO|Dodać jakiś przykład uzycia.}} |
|||
int main () |
|||
⚫ | |||
=== Uwagi === |
|||
printf ("2^0.4=%f\n", pow(2, 0.4)); |
|||
Wersje funkcji z przyroskiem "f" i "l" (tzn. wersje operujące na zmiennych typu float i long double) zostały wprwoadzone dopiero w standardzie C99. Również funkcje hypot oraz cbrt zosatły wprowadzone dopiero w standardzie C99. |
|||
return 0; |
|||
⚫ | |||
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 <tt>-lm</tt>. |
Wersja z 15:06, 7 lut 2007
Deklaracja
#include <math.h> double pow (double x, double y); float powf(flaot x, float y); long double powl(long double x, long double y); double sqrt (double x); float sqrtf(flaot x); long double sqrtl(long double x); double hypot (double x, double y); float hypotf(flaot x, float y); long double hypotl(long double x, long double y); double cbrt (double x); float cbrtf(flaot x); long double cbrtl(long double x); double fabs (double x); float fabsf(flaot x); long double fabsl(long double x);
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 werji.
Funkcje obliczają następujące wartości:
- pow - x do potęgu y, tj. ,
- sqrt - pierwiastek kwadratowy argumenty, tj. ,
- hypot - pierwiastek kwadratowy z sumy kwadratów argumentów, tj. ,
- cbrt - pierwiastek sześcienny argumenty, 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 przyroskiem "f" i "l" (tzn. wersje operujące na zmiennych typu float i long double) zostały wprwoadzone dopiero w standardzie C99. Również funkcje hypot oraz cbrt zosatł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.