math.h

(Redirecionado de Tgmath.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 editar

É 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 editar

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(xy, 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 editar

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

  1. «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 
  2. «The Open Group Base Specifications Issue 7: math.h». Consultado em 28 de março de 2010 
  3. «cos(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010 
  4. «sqrtf(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010 
  5. «log2(3) - Linux man page». Linux Documentation. Consultado em 28 de março de 2010 

Ligações externas editar

  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.