diff options
Diffstat (limited to 'fix_pi.patch')
-rw-r--r-- | fix_pi.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fix_pi.patch b/fix_pi.patch new file mode 100644 index 000000000000..d6b55dd61a6d --- /dev/null +++ b/fix_pi.patch @@ -0,0 +1,17 @@ +--- src/gpart_cpp.cpp 2021-10-26 22:24:23.000000000 +0300 ++++ src/gpart_cpp.cpp 2022-01-24 15:11:39.775657833 +0300 +@@ -617,12 +617,12 @@ + // three real roots + sq = sqrt(qq); + dxx = acos(rr / (qq * sq)) * (1.0 / 3.0); + sq *= -2; + solutions[0] = sq * cos(dxx) - adiv3; +- solutions[1] = sq * cos(dxx + (2.0 * PI / 3.0)) - adiv3; +- solutions[2] = sq * cos(dxx - (2.0 * PI / 3.0)) - adiv3; ++ solutions[1] = sq * cos(dxx + (2.0 * M_PI / 3.0)) - adiv3; ++ solutions[2] = sq * cos(dxx - (2.0 * M_PI / 3.0)) - adiv3; + // now sort and check for within-epsilon equality + if (solutions[0] > solutions[1]) { + dxx = solutions[0]; + solutions[0] = solutions[1]; + if (dxx > solutions[2]) { |