| 1234567891011121314151617181920212223242526272829303132 |
- #ifndef AL_MATH_DEFS_H
- #define AL_MATH_DEFS_H
- #include <math.h>
- #ifndef M_PI
- #define M_PI 3.14159265358979323846
- #endif
- constexpr inline float Deg2Rad(float x) noexcept { return x * static_cast<float>(M_PI/180.0); }
- constexpr inline float Rad2Deg(float x) noexcept { return x * static_cast<float>(180.0/M_PI); }
- namespace al {
- template<typename Real>
- struct MathDefs { };
- template<>
- struct MathDefs<float> {
- static constexpr inline float Pi() noexcept { return static_cast<float>(M_PI); }
- static constexpr inline float Tau() noexcept { return static_cast<float>(M_PI * 2.0); }
- };
- template<>
- struct MathDefs<double> {
- static constexpr inline double Pi() noexcept { return M_PI; }
- static constexpr inline double Tau() noexcept { return M_PI * 2.0; }
- };
- } // namespace al
- #endif /* AL_MATH_DEFS_H */
|