Source:
#include <format>
#include <iostream>
#include <numbers>
#include <boost/math/special_functions/ellint_2.hpp>
int main() {
std::cout << std::format("{}\n{}\n", std::numbers::pi / 2, boost::math::ellint_2(0.0));
}
Output with MSVC STL and boost 1.81:
1.5707963267948966
1.5707963267948963
In boost 1.80, the result of boost::math::ellint_2(0.0) was equal to std::numbers::pi / 2, which was more accurate.
This issue was discovered when updating reference to boost-math in MSVC STL (microsoft/STL#3312).