検索条件
全3件
(1/1ページ)
template <class T> struct constants< interval<T> > { static interval<T> pi() { static const interval<T> tmp( "3.1415926535897932384626433832795028841971693993751", "3.1415926535897932384626433832795028841971693993752" ); return tmp; } }のように文字列で上端下端を与えそれを上下に丸めることによって得ていました。この定数は10進数50桁で円周率の上界下界になっています。doubleとddしか無ければこれだけ精度があれば十分だったのですが、mpfrで50桁以上の精度を指定した場合、(精度保証は出来ているものの)定数の区間幅が広すぎてまともな精度が出ない事態になっていました。ここの仕組みを変えて、きちんとその型なりの定数の計算方法を書くようにしました。