5

複素数をサポートする 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)

Visual Studio 2012 では、complex の実装が _Isinf や _Isnan などの内部関数で double にキャストしようとするため、エラー C2440 が発生します。

これは私の側のエラーですか?どうすればこれを修正できますか? より良いライブラリはありますか?

4

2 に答える 2

1

GCC 4.7 では、ブースト多精度浮動小数点数を で使用できますstd::complex<>

于 2013-07-29T19:32:19.153 に答える