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

Usunięta treść Dodana treść
Kj (dyskusja | edycje)
mNie podano opisu zmian
Mina86 (dyskusja | edycje)
m Połączone wszystkie funkcje potęgowe; Dokładniejszy opis
Linia 1:
=== Deklaracja ===
 
#include <math.h>
: double pow (double x, double y);
: 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
 
===Plik nagłówkowyOpis ===
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ą.
 
===Opis 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.
===Przykład===
 
#include <stdio.h>
=== Przykład użycia ===
#include <math.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>.