Boost.Multiprecision の constexpr 対応
Boost.Multiprecision では固定長オブジェクトのコンストラクタが constexpr に対応しているみたいです。
演算子は未対応みたいですが。
[ソース]
#include <boost/multiprecision/cpp_int.hpp> #include <boost/multiprecision/number.hpp> int main(){ namespace bm = boost::multiprecision; // ok // 固定長オブジェクトのみ初期化出来る constexpr bm::int128_t n = 42; constexpr bm::uint1024_t m = 0xFFFFFFFF00000000uLL; // error // 演算子は使用できない constexpr auto nn = n * 2; static_assert(n == bm::int128_t(84), ""); // error // 可変長オブジェクトでは使用できない constexpr bm::cpp_int o = -42; return 0; }
[boost]
- ver 1.53.0