pow(3) Library Functions Manual pow(3) NUME pow, powf, powl - funcii pentru operarea cu puteri BIBLIOTECA Biblioteca de matematica (libm, -lm) SINOPSIS #include double pow(double x, double y); float powf(float x, float y); long double powl(long double x, long double y); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): powf(), powl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Incepand cu glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE DESCRIERE Aceste funcii returneaza valoarea lui x ridicata la puterea lui y. VALOAREA RETURNATA In caz de succes, aceste funcii returneaza valoarea lui x la puterea lui y. Daca rezultatul depaete intervalul, apare o eroare de interval, iar funciile returneaza HUGE_VAL, HUGE_VALF sau HUGE_VALL, respectiv, cu semnul matematic corect. Daca rezultatul este sub limita inferioara i nu poate fi reprezentat, apare o eroare de interval i se returneaza 0,0 cu semnul corespunzator. Daca x este +0 sau -0, iar y este un numar intreg impar mai mic decat 0, apare o eroare de polaritate (semn) i se returneaza HUGE_VAL, HUGE_VALF sau HUGE_VALL, cu acelai semn ca x. Daca x este +0 sau -0, iar y este mai mic decat 0 i nu este un numar intreg impar, apare o eroare de polaritate (semn) i se returneaza +HUGE_VAL, +HUGE_VALF sau +HUGE_VALL. Daca x este +0 (-0) i y este un numar intreg impar mai mare decat 0, rezultatul este +0 (-0). Daca x este 0, iar y este mai mare decat 0 i nu este un numar intreg impar, rezultatul este +0. Daca x este -1, iar y este infinit pozitiv sau infinit negativ, rezultatul este 1,0. Daca x este +1, rezultatul este 1,0 (chiar daca y este NaN). Daca y este 0, rezultatul este 1,0 (chiar daca x este NaN). Daca x este o valoare finita mai mica decat 0, iar y este un numar finit care nu este intreg, apare o eroare de domeniu i se returneaza o valoare NaN. Daca valoarea absoluta a lui x este mai mica decat 1, iar y este infinit negativ, rezultatul este infinit pozitiv. Daca valoarea absoluta a lui x este mai mare decat 1, iar y este infinit negativ, rezultatul este +0. Daca valoarea absoluta a lui x este mai mica decat 1, iar y este infinit pozitiv, rezultatul este +0. Daca valoarea absoluta a lui x este mai mare decat 1, iar y este infinit pozitiv, rezultatul este infinit pozitiv. Daca x este infinit negativ, iar y este un numar intreg impar mai mic decat 0, rezultatul este -0. Daca x este infinit negativ, iar y este mai mic decat 0 i nu este un numar intreg impar, rezultatul este +0. Daca x este infinit negativ, iar y este un numar intreg impar mai mare decat 0, rezultatul este infinit negativ. Daca x este infinit negativ, iar y este mai mare decat 0 i nu este un numar intreg impar, rezultatul este infinit pozitiv. Daca x este infinit pozitiv, iar y este mai mic decat 0, rezultatul este +0. Daca x este infinit pozitiv i y este mai mare decat 0, rezultatul este infinit pozitiv. Cu excepia cazurilor specificate mai sus, daca x sau y este NaN, rezultatul este NaN. ERORI-IEIRE Consultai math_error(7) pentru informaii despre cum sa determinai daca a aparut o eroare la apelarea acestor funcii. Pot aparea urmatoarele erori: Eroare de domeniu: ,,x" este negativ, iar ,,y" este un numar finit care nu este intreg. errno este configurata la EDOM. Se genereaza o excepie de virgula mobila nevalida (FE_INVALID). Eroare polaritate (semn): ,,x" este zero, iar ,,y" este negativ errno este configurata la ERANGE (dar vedei seciunea ERORI). Se genereaza o excepie de imparire la zero in virgula mobila (FE_DIVBYZERO). Eroare de interval: rezultatul este peste limita superioara errno este configurata la ERANGE. Se genereaza o excepie de depaire in virgula mobila (FE_OVERFLOW). Eroare de interval: rezultatul este sub limita inferioara errno este configurata la ERANGE. Se genereaza o excepie de sub-limita in virgula mobila (FE_UNDERFLOW). ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |pow(), powf(), powl() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE C11, POSIX.1-2008. ISTORIC C99, POSIX.1-2001. Varianta care returneaza double este, de asemenea, conforma cu SVr4, 4.3BSD, C89. ERORI Erori din trecut (acum remediate) Inainte de glibc 2.28, pe unele arhitecturi (de exemplu, x86-64), pow() poate fi de peste 10.000 de ori mai lent pentru unele intrari decat pentru alte intrari similare. Aceasta afecteaza numai pow(), i nu powf() sau powl(). Aceasta problema a fost rezolvata in glibc 2.28. O serie de erori din implementarea glibc a pow() au fost remediate in glibc 2.16. In glibc 2.9 i versiunile anterioare, atunci cand apare o eroare de polaritate, errno este configurata la EDOM in loc de ERANGE, care este recomandat de POSIX. Incepand cu glibc 2.10, glibc face ceea ce trebuie. In glibc 2.3.2 i versiunile anterioare, cand apare o eroare de depaire a limitei superioare sau de depaire a limitei inferioare, funcia pow() a glibc genereaza o excepie falsa de tip numar in virgula mobila nevalid (FE_INVALID) in plus faa de excepia de depaire a limitei superioare sau de depaire a limitei inferioare. CONSULTAI I cbrt(3), cpow(3), sqrt(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 8 februarie 2026 pow(3)