gpt4 book ai didi

c++ - 创建具有特定精度的新 cpp_dec_float 类型

转载 作者:行者123 更新时间:2023-11-28 05:58:28 27 4
gpt4 key购买 nike

我正在使用 C++ 运行物理模拟,为了获得精确的结果,我正在使用 boost::multiprecision。到目前为止,我使用的是 cpp_dec_float_50 类型,但是,现在我需要测试具有不同精度的不同变量的模拟。

那么,如何创建新类型,例如 cpp_dec_float_27(27 位精度)?

我尝试更改模板代码:

namespace boost{ namespace multiprecision{
template <unsigned Digits10, class ExponentType = boost::int32_t, class Allocator = void>
class cpp_dec_float;
typedef number<cpp_dec_float<50> > cpp_dec_float_50;
typedef number<cpp_dec_float<100> > cpp_dec_float_100;
}} // namespaces

但我遇到了很多问题。

最佳答案

如果我理解正确,您正在尝试更改您的 boost 安装,您永远不应该这样做,因为其余的 boost 源可能依赖于它。

如果您想定义自己的精度,您需要一个简单的 typedef:

typedef number<cpp_dec_float<27> > cpp_dec_float27;

你准备好了。

但是,如果您的函数依赖于类型 cpp_dec_float100,您可能需要考虑使用这些函数的模板来接受多精度。

关于c++ - 创建具有特定精度的新 cpp_dec_float 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com