我需要一个类似BSD的许可C(++)多精度库,支持复数,所以我尝试了boost.
以下代码失败:
#include <boost/multiprecision/cpp_dec_float.hpp>
#include <complex>
using namespace boost::multiprecision;
std::complex<cpp_dec_float_50>(1.0, 2.0) / std::complex<cpp_dec_float_50>(1.0, 2.0)
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2012中出现错误C2440,因为复杂的实现尝试在_Isinf或_Isnan等内部函数中强制转换为double.
这是我的错误吗?我怎样才能解决这个问题?有更好的图书馆吗?
c++ boost complex-numbers arbitrary-precision visual-studio-2012