8.2 수학 함수
수학 함수는 math.h 헤더에서 제공하지만 tgmath.h에서 제공하는 타입-독립(type-generic) 매크로가 훨씬 간편하다. 기본적으로 모든 함수마다 인수의 타입과 리턴 값의 타입을 검사하는 매크로가 있다(예 sin(x), pow(x, n)).
타입-독립 매크로에 대해서는 설명할 내용이 너무 많다. 표 8-3은 라이브러리에서 제공하는 함수를 보여 준다.
▼ 표 8-3 수학 함수. 표에서 abs, labs, llabs와 div, ldiv, lldiv, modf, modff, modfl, nan, nanf, nanl만 일반 함수고 나머지는 모두 매크로다.
함수 |
설명 |
abs, labs, llabs |
정수에 대한 | x | |
acosh |
역쌍곡 코사인(hyperbolic arc cosine) |
acos |
역코사인(arc cosine) |
asinh |
역쌍곡 사인(hyperbolic arc sine) |
asin |
역사인(arc sine) |
atan2 |
역탄젠트(arc tangent), 인수 두 개 버전 |
atanh |
역쌍곡 탄젠트(hyperbolic arc tangent) |
atan |
역탄젠트(arc tangent) |
cbrt |
|
ceil |
|
copysign |
y에서 x로 부호를 복사한다. |
cosh |
쌍곡 코사인(hyperbolic cosine) |
cos |
코사인(cosine) 함수 |
div, ldiv, lldiv |
정수 나눗셈의 몫과 나머지 |
erfc |
여오차 함수(complementary error function), |
erf |
오차 함수(error function), |
exp2 |
2x |
expom1 |
ex - 1 |
exp |
ex |
fabs |
부동 소수점에 대한 | x | |
fdim |
양의 차 |
floor |
|
fmax |
부동 소수점 최댓값 |
fma |
x·y + z |
fmin |
부동 소수점 최솟값 |
fmod |
부동 소수점 나눗셈의 나머지 |
fpclassify |
부동 소수점 값을 분류한다. |
frexp |
가수(significand)와 지수(exponent) |
hypot |
|
ilogb |
(정수로 표현한 로그 함수값) |
isfinite |
유한한지 검사한다. |
isinf |
무한한지 검사한다. |
isnan |
NaN인지 검사한다. |
isnormal |
정상인지 검사한다. |
ldexp |
x·2y |
lgamma |
logeΓ(x) |
log10 |
log10 x |
log1p |
loge(1+x) |
log2 |
log2 x |
logb |
logFLT_RADIX x (부동 소수점으로 표현한 로그함수값) |
log |
loge x |
modf, modff, modfl |
정수와 분수 |
nan, nanf, nanl |
NaN(숫자 아님, Not-a-Number)의 여러 타입 버전 |
nearbyint |
현재 반올림 모드에서 가장 가까운 정수 |
nextafter, nexttoward |
다음번 표현 가능한 부동 소수점 값 |
pow |
xy |
remainder |
나눗셈에서 부호 있는 나머지 |
remquo |
나눗셈에서 부호 있는 나머지와 마지막 비트 |
rint, lrint, llrint |
현재 반올림 모드에서 가장 가까운 정수 |
round, lround, llround |
sign(x) |
scalbn, scalbln |
x · FLT_RADIXy |
signbit |
음수인지 검사한다. |
sinh |
쌍곡 사인(hyperbolic sine) |
sin |
사인 함수(sin x) |
sqrt |
|
tanh |
쌍곡 탄젠트(hyperbolic tangent) |
tan |
탄젠트 함수(tan x) |
tgamma |
감마 함수, Γ(x) |
trunc |
sign(x) |