From 4565b2d2d939fb3f3ce303b9814a30e49adb025e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 3 Nov 2019 09:59:44 +0100 Subject: [PATCH] LibM: Add back ampsin() since it was still used by tan() --- Libraries/LibM/math.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Libraries/LibM/math.cpp b/Libraries/LibM/math.cpp index d189f86aad..f7d370cca4 100644 --- a/Libraries/LibM/math.cpp +++ b/Libraries/LibM/math.cpp @@ -84,6 +84,23 @@ double tanh(double x) return (plusX - minusX) / (plusX + minusX); } +double ampsin(double angle) +{ + double looped_angle = fmod(M_PI + angle, M_TAU) - M_PI; + double looped_angle_squared = looped_angle * looped_angle; + + double quadratic_term; + if (looped_angle > 0) { + quadratic_term = -looped_angle_squared; + } else { + quadratic_term = looped_angle_squared; + } + + double linear_term = M_PI * looped_angle; + + return quadratic_term + linear_term; +} + double tan(double angle) { return ampsin(angle) / ampsin(M_PI_2 + angle);