开源数据库SLEEF使用方法
- 参考SLEEF官网(https://sleef.org/)的编译指导编译出动态库libsleef.so。
- 因为sleef的接口跟libm的标准接口不一致,要让应用不修改源码情况下调用sleef库,需要增加一层wrap接口。wrap接口模板如下,读者根据项目情况补充需要的数学函数接口。
// wrapmath.c #include<sleef.h> double exp (double a) { return Sleef_expd1_u10purec(a); } double log (double a) { return Sleef_logd1_u10purec(a); } double pow (double a, double b) { return Sleef_powd1_u10purec(a, b); }
- 将wrapmath.c编译成libwrapmath.so,编译应用时通过-L指定libwrapmath.so、libsleef.so链接路径即可。