diff --git a/include/bx/constants.h b/include/bx/constants.h index 9c6f4c8..5d8d011 100644 --- a/include/bx/constants.h +++ b/include/bx/constants.h @@ -20,9 +20,12 @@ namespace bx /// The ratio of a circle's circumference to its radius. Pi multiplied by 2, or Tau. pi*2 constexpr float kPi2 = 6.2831853071795864769252867665590f; - /// The reciprocal of pi. 1/pi + /// The reciprocal of kPi. 1/kPi constexpr float kInvPi = 1.0f/kPi; + /// The reciprocal of kPi2. 1/kPi2 + constexpr float kInvPi2 = 1.0f/kPi2; + /// Pi divided by two. pi/2 constexpr float kPiHalf = 1.5707963267948966192313216916398f; diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 183887b..684b162 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -164,7 +164,7 @@ namespace bx inline void sinCosApprox(float _a, float* _outSin, float* _outCos) { - const float aa = _a - floor(_a/kPi2)*kPi2; + const float aa = _a - floor(_a*kInvPi2)*kPi2; const float absA = abs(aa); const float cosA = cos(absA); const float cosASq = square(cosA);