--- 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]) {