Closed neige68 closed 4 months ago
特に C++ サンプルの eval を用いて、
eval -P17 1.23456789012345679 1.23456789012345680 1.23456789012345680-1.23456789012345679
を実行すると大小関係が逆転するほどです。
1.23456789012345679 = 1.2345678901234569 1.23456789012345680 = 1.2345678901234567 1.23456789012345680-1.23456789012345679 = -2.2204460492503131e-16
boost::spirit::x3::double_ では double で計算を行っているので、誤差が入ることがあります。 68ac222279fad54262429dd5264adcd59ddd0766 にて、文字列を切り出して std::stod で double に変換するようにしました。
特に C++ サンプルの eval を用いて、
を実行すると大小関係が逆転するほどです。