---
title: LIBM、MATHLIB、LIBIMF迁移到KML_MATH
description: "**表1 LIBM、MATHLIB、LIBIMF的替换映射关系**"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0025.html
sourcePath: /source/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0025.html
indexId: 419bd2976b184c95eaa129775ef08529e3d5e97a759bb1065ce4af9d7568303558
---
# LIBM、MATHLIB、LIBIMF迁移到KML_MATH

#### 可替换性


**表1 LIBM、MATHLIB、LIBIMF的替换映射关系**

| 接口名 | KML接口名 | 数据类型 | 描述 |
| --- | --- | --- | --- |
| sin | sin | double、float、long double | 正弦函数 |
| cos | cos | double、float、long double | 余弦函数 |
| sincos | sincos | double、float、long double | 正弦、余弦函数 |
| tan | tan | double、float、long double | 正切函数 |
| asin | asin | double、float | 反正弦函数 |
| asind | asind | double、float | 反正弦函数（入参为角度） |
| acos | acos | double、float | 反余弦函数 |
| atan | atan | double、float | 反正切函数 |
| atan2 | atan2 | double、float、long double | 反正切函数 |
| cosd | cosd | double、float、long double | 余弦函数（入参为角度） |
| sinh | sinh | double、float | 双曲正弦函数 |
| cosh | cosh | double、float | 双曲余弦函数 |
| tanh | tanh | double、float | 双曲正切函数 |
| asinh | asinh | double、float | 反双曲正弦函数 |
| acosh | acosh | double、float | 反双曲余弦函数 |
| atanh | atanh | double、float | 反双曲正切函数 |
| exp | exp | double、float、long double | 指数函数（base e） |
| exp2 | exp2 | double、float | 指数函数（base 2） |
| log | log | double、float、long double | 对数函数（base e） |
| log2 | log2 | double、float | 对数函数（base 2） |
| log10 | log10 | double、float | 对数函数（base 10） |
| pow | pow | double、float、long double | 幂函数 |
| sqrt | sqrt | double、float、long double | 平方根函数 |
| cbrt | cbrt | double、float | 立方根函数 |
| fmod | fmod | double、float | 浮点数求模 |
| tgamma | tgamma | double、float | 伽马函数 |
| \_\_powr8i4 | powr8i4 | \- | 80位扩展精度幂函数 |


#### 高性能版本C语言迁移步骤

1. 识别源码中是否包含开源基础数学库的头文件：<mathimf.h>/<math.h> /<mathlib.h>。
2. 将开源头文件替换成<km.h>。
3. 在编译选项中将-lm或-lmathlib替换为-lkm -lm。
4. 添加环境变量，/PATH_TO_KM为安装路径。

```
export LD_LIBRARY_PATH=/PATH_TO_KM:$LD_LIBRARY_PATH
```


#### 高精度版本C语言迁移步骤

1. 识别源码中是否包含开源基础数学库的头文件：<mathimf.h>/<math.h>。
2. 将开源头文件替换成<km.h> 。
3. 在编译选项中将-lm -fp-model=precise替换为-lkm_l9 -lm。
4. 添加环境变量，/PATH_TO_KM为安装路径。

```
export LD_LIBRARY_PATH=/PATH_TO_KM:$LD_LIBRARY_PATH
```


#### Fortran接口迁移步骤

Fortran接口迁移与高性能版本C语言迁移步骤一致。
