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

Z Wikibooks, biblioteki wolnych podręczników.
< C
Usunięta treść Dodana treść
Linia 8: Linia 8:
double sqrt (double x);
double sqrt (double x);
float sqrtf(flaot x);
float sqrtf(float x);
long double sqrtl(long double x);
long double sqrtl(long double x);
double hypot (double x, double y);
double hypot (double x, double y);
float hypotf(flaot x, float y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
long double hypotl(long double x, long double y);
double cbrt (double x);
double cbrt (double x);
float cbrtf(flaot x);
float cbrtf(float x);
long double cbrtl(long double x);
long double cbrtl(long double x);
double fabs (double x);
double fabs (double x);
float fabsf(flaot x);
float fabsf(float x);
long double fabsl(long double x);
long double fabsl(long double x);



Wersja z 17:40, 6 mar 2007

Deklaracja

#include <math.h>

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);

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

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.