math.h
math.h é um arquivo cabeçalho que fornece protótipos para funções, macros e definição de tipos da biblioteca padrão da linguagem de programação C para funções matemáticas básicas[1][2]. São disponibilizadas, por exemplo, funções trigonométricas como o cosseno cos que opera com ângulos medidos em radianos[3], função para cálculo de raiz quadrada sqrtf desde que o resultado seja um número real[4], logaritmo com base 2 log2[5], entre outras.
| Biblioteca padrão do C |
Funções pré-C99
É importante lembrar que as funções que envolvem ângulos devem receber valores em radianos e não em graus.
| Nome | Descrição |
|---|---|
acos | arco-coseno |
asin | arco-seno |
atan | arco-tangente |
atan2 | arco-tangente (círculo cheio) |
ceil | Arredonda para cima |
cos | co-seno |
cosh | co-seno hiperbólico |
exp | exponencial |
fabs | valor absoluto (módulo de) |
floor | Arredonda para baixo |
fmod | resto de uma divisão |
frexp | fracção norm./parte exp |
ldexp | inverso de frexp |
log | logaritmo natural |
log10 | logaritmo base 10 |
modf(x,p) | retorna a parte fraccionária de x e guarda a parte inteira para onde o apontador p aponta |
pow(x,y) | retorna o resultado de x elevado a y |
sin | seno |
sinh | seno hiperbólico |
sqrt | raiz quadrada |
tan | tangente |
tanh | tangente hiperbólica |
Funções C99
| Nome | Descrição |
|---|---|
acosh | arco-coseno hiperbólico |
asinh | arco-seno hiperbólico |
atanh | arco-tangente hiperbólica |
cbrt | raiz cúbica |
copysign(x,y) | retorna o valor de x com o sinal de y |
erf | função erro |
erfc | função erro complementar |
exp2(x) | calcula 2 elevado à x, 2x |
expm1(x) | subtrai da exponenciação x, ex − 1 |
fdim(x,y) | diferença positiva entre x e y, fmax(x−y, 0) |
fma(x,y,z) | multiplica e soma, (x * y) + z |
fmax(x,y) | maior valor de x e y |
fmin(x,y) | menor valor de x e y |
hypot(x,y) | hipotenusa, sqrt(x2 + y2) |
ilogb | o expoente de uma dízima, convertido num int |
lgamma | logaritmo natural do valor absoluto da função gamma |
llrint | arredonda para inteiro (retorna long long) usando o modo de arredondamento currente |
lrint | arredonda para inteiro (retorna long) usando o modo de arredondamento currente |
llround | arredonda para inteiro (retorna long long) |
lround | arredonda para inteiro (retorna long) |
log1p(x) | logaritmo natural de 1 + x |
log2 | logaritmo binário |
logb | extrai o expoente da dízima infinita não periódica |
nan(s) | retorna NaN, possivelmente usando um argumento "string" |
nearbyint | arredonda uma dízima para o inteiro mais próximo |
nextafter(x,y) | retorna o próximo valor representável depois de x (towards y) |
nexttoward(x,y) | o mesmo que nextafter, excepto que y é sempre um long double |
remainder(x,y) | calcula o resto como exigido pelo IEC 60559 |
remquo(x,y,p) | o mesmo que remainder, mas guarda o quociente (como int) no alvo do apontador p |
rint | arredonda para inteiro (retorna double) usando o modo de arredondamento currente |
round | arredonda para inteiro (retorna double), arredonda casa mais distante de zero |
scalbln(x,n) | x * FLT_RADIXn (n é long) |
scalbn(x,n) | x * FLT_RADIXn (n é int) |
tgamma | função gamma |
trunc | trunca uma dízima |
Extensões XSI
Funções extra devem ser avaliadas como X/Open System Interfaces Extensions. Isto não está presente em nenhum padrão C ANSI ou ISO.
| Nome | Descrição |
|---|---|
j0(x) | Bessel function of x of the first kind of order 0 |
j1(x) | Bessel function of x of the first kind of order 1 |
jn(n,x) | Bessel function of x of the first kind of order n |
scalb(x,y) | x * FLT_RADIXy (x and y are doubles) |
y0(x) | Bessel function of x of the second kind of order 0 |
y1(x) | Bessel function of x of the second kind of order 1 |
yn(n,x) | Bessel function of x of the second kind of order n |
As funções conversoras double-para-string ecvt, fcvt e gcvt têm sido preteridas em favor de sprintf.
Referências
- «m_sqrt2(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010. Arquivado do original em 1 de junho de 2009
- «The Open Group Base Specifications Issue 7: math.h». Consultado em 28 de março de 2010
- «cos(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010
- «sqrtf(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010
- «log2(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010