| 1 | #pragma once |
| 2 | |
| 3 | #include <nn/util/MathTypes.h> |
| 4 | |
| 5 | namespace nn::util::detail { |
| 6 | // todo: figure out where to put these |
| 7 | extern float SinCoefficients[5]; |
| 8 | extern float CosCoefficients[5]; |
| 9 | extern float AtanCoefficients[8]; |
| 10 | |
| 11 | extern AngleIndex AngleIndexHalfRound; |
| 12 | extern float FloatPiDivided2; |
| 13 | extern float Float1Divided2Pi; |
| 14 | extern float FloatPi; |
| 15 | extern float Float2Pi; |
| 16 | extern float FloatDegree180; |
| 17 | extern float FloatQuaternionEpsilon; |
| 18 | extern float FloatUlp; |
| 19 | |
| 20 | struct SinCosSample { |
| 21 | float cosValue; |
| 22 | float sinValue; |
| 23 | float cosDelta; |
| 24 | float sinDelta; |
| 25 | }; |
| 26 | |
| 27 | extern SinCosSample SinCosSampleTable[4]; |
| 28 | |
| 29 | /* todo: implement for shape functions |
| 30 | inline float ModPi(float x) { |
| 31 | float factor; |
| 32 | float roundedQuotient; |
| 33 | } |
| 34 | */ |
| 35 | |
| 36 | }; // namespace nn::util::detail |