C++定点库?

uj2*_*uj2 54 c++ math fixed-point

我正在寻找一个免费的C++定点库(主要用于嵌入式设备,不用于任意精度数学).基本上,要求是:

  • 没有不必要的运行时开销:无论在编译时可以做什么,都应该在编译时完成.
  • 能够在固定和浮点之间透明地切换代码,没有固有的开销.
  • 定点数学函数.如果你需要来回投射以获得平方根,那么使用固定点没有多大意义.
  • 占地面积小.

有什么建议?

小智 6

有一个开源定点数学库项目,可以通过以下链接找到:

它是一个C静态库,为C++用户提供C++类接口,它实现了以下功能:Trig.函数:sin,cos,tan,asin,acos,atan,atan2饱和算术:sadd,ssub,smul,sdiv其他函数:sqrt,exp

它只支持16.16定点数据类型.

它是一个积极开发的开源项目(寻找感兴趣的开发人员).

  • 为什么它只支持Q16.16?所以最大值是65536.对于很多情况来说还不够. (3认同)

her*_*tao 5

查看以下两个关于在C++中处理定点表示的好实现(不需要外部库).

  1. 定点级彼得Schregle.它还有效地实现了加法,乘法除法等基本操作.

    代码示例:

    #include <fixed_point.h>
    using namespace fpml;
    
    main()
    {
        fixed_point<int, 16> a = 256;
        fixed_point<int, 16> b = sqrt(a);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用Khuram Ali 在C++中实现定点数.