函数说明
KML_MATH是C语言实现的基本数学函数库。其中,高性能版本(libkm.so)计算结果对标开源数学库MPFR,高精度版本(libkm_l9.so)计算结果对标x86数学库。
函数类 |
函数名 |
描述 |
高性能版本 |
高精度版本 |
---|---|---|---|---|
三角函数 (Trigonometric functions) |
sin |
正弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
sind |
正弦函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
sinpi |
正弦函数(求入参乘以π的正弦值)。 |
实数单精度/双精度 |
无 |
|
cos |
余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
cosd |
余弦函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
cospi |
余弦函数(求入参乘以π的余弦值)。 |
实数单精度/双精度 |
无 |
|
sincos |
正弦、余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
sincosd |
正弦余弦函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
tan |
正切函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
tand |
正切函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
tanpi |
正切函数(求入参乘以π的正切值)。 |
实数单精度/双精度 |
无 |
|
asin |
反正弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
asind |
反正弦函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
asinpi |
反正弦函数/π。 |
实数单精度/双精度 |
无 |
|
acos |
反余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
acosd |
反余弦函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
acospi |
反余弦函数/π。 |
实数单精度/双精度 |
无 |
|
atan |
反正切函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
atand |
反正切函数(出参为角度)。 |
实数单精度/双精度 |
无 |
|
atanpi |
反正切函数/π。 |
实数单精度/双精度 |
无 |
|
atan2 |
反正切函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
atan2d/atand2 |
反正切函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
atan2pi |
反正切函数/π。 |
实数单精度/双精度 |
无 |
|
cot |
余切函数(入参为弧度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
cotd |
余切函数(入参为角度)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
双曲函数 (Hyperbolic functions) |
sinh |
双曲正弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
cosh |
双曲余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
sinhcosh |
双曲正弦、余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度 |
|
tanh |
双曲正切函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
asinh |
反双曲正弦函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
acosh |
反双曲余弦函数。 |
实数单精度/双精度 |
实数单精度/双精度 |
|
atanh |
反双曲正切函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
指数和对数函数 (Exponential and logarithmic functions) |
exp |
指数函数(base e)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
exp2 |
指数函数(base 2)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
exp10 |
指数函数(base 10)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
expm1 |
指数函数(e^x - 1)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
frexp |
将x转换为归一化[1/2, 1)的有符号数乘以2的积分幂。 |
无 |
实数单精度/双精度/长双精度 |
|
ldexp |
指数函数(x * 2^exp)。 |
无 |
实数单精度/双精度/长双精度 |
|
log |
对数函数(base e)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
log2 |
对数函数(base 2)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
log10 |
对数函数(base 10)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
log1p |
对数函数,即ln(1+x)的值。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
logb |
对数函数,求x的指数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
ilogb |
计算x的指数,返回整型结果。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
scalb |
求x*(2^y),y为浮点类型。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
scalbln |
求x*(2^y),y为长整型。 |
无 |
实数单精度/双精度/长双精度 |
|
scalbn |
求x*(2^y),y为整型。 |
无 |
实数单精度/双精度/长双精度 |
|
hypot |
求(x^2 + y^2)的开方。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
幂和根函数(Power and root function) |
pow |
幂函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
powr?i? |
幂函数。 |
无 |
实数单精度/双精度/长双精度 |
|
powi?i? |
幂函数。 |
无 |
实数整型/长整型 |
|
pow2o3 |
幂函数(幂值2/3)。 |
实数单精度/双精度 |
无 |
|
pow3o2 |
幂函数(幂值3/2)。 |
实数单精度/双精度 |
无 |
|
powr |
幂函数(x>0)。 |
实数单精度/双精度 |
无 |
|
sqrt |
平方根函数。 |
实数单精度/双精度/长双精度 |
实数单精度/双精度/长双精度 |
|
invsqrt |
求平方根的倒数()。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
cbrt |
立方根函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
杂项函数(Miscellaneous Functions) |
fabs |
计算浮点数绝对值。 |
实数单精度/双精度 |
无 |
fdim |
如果x<=y,则fdim函数返回零值;否则返回x-y的值。 |
实数单精度/双精度 |
无 |
|
fmax |
返回入参的最大值。 |
实数单精度/双精度 |
无 |
|
fmaxmag |
返回绝对值相对较大的入参,否则行为类似于fmax(x,y)。 |
实数单精度/双精度 |
无 |
|
fmin |
返回入参的最小值。 |
实数单精度/双精度 |
无 |
|
fminmag |
返回绝对值相对较小的入参,否则行为类似于fmin(x,y)。 |
实数单精度/双精度 |
无 |
|
nan |
返回输入要求的浮点nan。 |
实数单精度/双精度 |
无 |
|
nextafter |
在y方向上,以指定格式返回x之后的下一个可表示值。 |
实数单精度/双精度 |
无 |
|
nexttoward |
返回x在y方向的下个浮点数。 |
实数单精度/双精度 |
无 |
|
significand |
求x的有效数字。 |
实数单精度/双精度 |
无 |
|
finite |
判断x是否为有限数。 |
实数单精度/双精度 |
无 |
|
特殊函数(Special Function) |
annuity |
求年金现值系数()。 |
实数单精度/双精度 |
无 |
compound |
计算复利终值系数。 |
实数单精度/双精度 |
无 |
|
erf |
误差函数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
erfc |
互补误差函数。 |
实数单精度/双精度 |
无 |
|
erfcx |
互补误差函数与的乘积。 |
实数单精度/双精度 |
无 |
|
erfinv |
逆误差函数。 |
实数单精度/双精度 |
无 |
|
gamma |
计算x的伽马值绝对值的自然对数。 |
实数单精度/双精度 |
实数单精度/双精度 |
|
gamma_r |
计算x的伽马值绝对值的自然对数,返回伽马值的符号。 |
实数单精度/双精度 |
实数双精度 |
|
lgamma |
计算x的伽马值绝对值的自然对数。 |
实数单精度/双精度 |
无 |
|
lgamma_r |
计算x的伽马值绝对值的自然对数,返回伽马值的符号。 |
实数单精度/双精度 |
无 |
|
tgamma |
计算x的伽马值。 |
实数单精度/双精度 |
实数单精度/双精度 |
|
j0 |
Bessel 0阶第一类函数。 |
实数单精度/双精度 |
无 |
|
j1 |
Bessel 1阶第一类函数。 |
实数单精度/双精度 |
无 |
|
jn |
Bessel n阶第一类函数。 |
实数单精度/双精度 |
无 |
|
y0 |
Bessel 0阶第二类函数,x > 0。 |
实数单精度/双精度 |
无 |
|
y1 |
Bessel 1阶第二类函数,x > 0。 |
实数单精度/双精度 |
无 |
|
yn |
Bessel n阶第二类函数,x > 0。 |
实数单精度/双精度 |
无 |
|
舍入函数(Nearest Integer Functions) |
ceil |
向上舍入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
floor |
向下舍入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
llrint |
基于当前舍入策略四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
llround |
四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
lrint |
基于当前舍入策略四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
lround |
四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
modf |
获取浮点数的整数和小数部分。 |
无 |
实数单精度/双精度/长双精度 |
|
nearbyint |
四舍五入取偶。 |
实数单精度/双精度 |
实数单精度/双精度 |
|
rint |
基于当前舍入策略四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
round |
四舍五入。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
trunc |
向0取整。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
取余函数(Remainder Functions) |
drem |
计算x / y的余数。 |
实数单精度/双精度 |
无 |
fmod |
求余数(x-ny)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
remainder |
求余数(IEEE标准)。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
remquo |
求商和余数。 |
实数单精度/双精度 |
实数单精度/双精度/长双精度 |
|
复数函数(Complex Functions) |
cabs |
复数的绝对值。 |
实数单精度/双精度 |
复数单精度/双精度/长双精度 |
cacos |
复数形式的反余弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
cacosh |
复数形式的反双曲余弦函数。 |
复数单精度/双精度 |
无 |
|
carg |
返回复数的极坐标形式的角度值。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
casin |
复数形式的反正弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
casinh |
复数形式的反双曲正弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
catan |
复数形式的反正切函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
catanh |
计算复数的双曲正切值。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
ccos |
复数形式的余弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
ccosh |
复数形式的双曲余弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
cdiv |
复数除法。 |
无 |
复数单精度/双精度 |
|
cexp |
复数形式的指数函数(base e)。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
cexp2 |
复数形式的指数函数(base 2)。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
cexp10 |
复数形式的指数函数(base 10)。 |
复数单精度/双精度 |
无 |
|
cimag |
复数的虚部。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
cis |
复数的形式返回x的sin/cos值。 |
复数单精度/双精度 |
无 |
|
cisd |
复数的形式返回x的sin/cos值(入参为角度)。 |
复数单精度/双精度 |
无 |
|
clog |
复数形式的对数函数(base e)。 |
复数单精度/双精度 |
复数双精度/长双精度 |
|
clog2 |
复数形式的对数函数(base 2)。 |
复数单精度/双精度 |
无 |
|
clog10 |
复数形式的对数函数(base 10)。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
conj |
复数z的共轭。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
cpow |
复数形式的幂函数。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
cproj |
复数在黎曼球面的投影。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
creal |
复数的实部。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
csin |
复数形式的正弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
csinh |
复数形式的双曲正弦函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
csqrt |
复数形式的平方根函数。 |
复数单精度/双精度 |
复数单精度/双精度/长双精度 |
|
ctan |
复数形式的正切函数。 |
复数单精度/双精度 |
复数单精度/双精度 |
|
ctanh |
复数形式的双曲正切函数。 |
复数单精度/双精度 |
无 |