首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用boost::multiprecision作为blitz++的数据类型

使用boost::multiprecision作为blitz++的数据类型
EN

Stack Overflow用户
提问于 2013-11-21 01:04:49
回答 1查看 88关注 0票数 0

我正在尝试结合blitz++良好的数组语法进行任意精度的算术运算。我的问题是,像cosexp等通用的数学函数不起作用:

代码语言:javascript
复制
#include <blitz/array.h>
#include <boost/multiprecision/float128.hpp>

using namespace boost::multiprecision;
using namespace blitz;

int main() {

    float128 a = 1;
    a = cos(a);
    cout << a << endl;

    Array<float128,3> myarray(2,3,4);
    myarray = 1;
    myarray = cos(myarray);
    cout << myarray;

}

g++ test.cpp -lquadmath -o test

第一个代码块只使用float128,而不使用闪电战,运行良好。然而,使用闪电战的第二个块不会执行cos(myarray)。编译器似乎计算出了迭代,但找不到对值执行实际cos(x)的函数:Compiler error log

我也想使用boost::multiprecision::mpfr,但一次只能做一件事。我希望有人能帮上忙。

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 23:02:28

我已经找到了一个解决方案,但它涉及到修补闪电战。我已经为闪电战-0.10编写了this补丁,使用修改后的闪电战,上面的代码就可以工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20102259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档