1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-02-20 19:57:12 +01:00

Added a few helper constants in the shared header to prepare for Quaternion implementation.

This commit is contained in:
Sandu Liviu Catalin 2016-08-23 23:01:57 +03:00
parent fadf480dc4
commit f3db1101ab

View File

@ -8,49 +8,25 @@
namespace SqMod {
/* ------------------------------------------------------------------------------------------------
* Constant for PI.
* Helper constants used by the bas types.
*/
constexpr Float32 SQMOD_PI = 3.14159265359f;
constexpr Float32 SQMOD_PI = 3.14159265358979323846264338327950288f;
constexpr Float64 SQMOD_PI64 = 3.1415926535897932384626433832795028841971693993751d;
/* ------------------------------------------------------------------------------------------------
* Constant for reciprocal of PI.
*/
constexpr Float32 SQMOD_RECIPROCAL_PI = (1.0f / SQMOD_PI);
constexpr Float64 SQMOD_RECIPROCAL_PI64 = 1.0 / SQMOD_PI64;
/* ------------------------------------------------------------------------------------------------
* Constant for half of PI.
*/
constexpr Float32 SQMOD_HALF_PI = (SQMOD_PI / 2.0f);
constexpr Float32 SQMOD_HALF_PI = (SQMOD_PI * 0.5f);
constexpr Float32 SQMOD_HALF_PI64 = (SQMOD_PI64 * 0.5);
/* ------------------------------------------------------------------------------------------------
* Constant for 64 bit PI.
*/
constexpr Float64 SQMOD_PI64 = 3.1415926535897932384626433832795028841971693993751;
/* ------------------------------------------------------------------------------------------------
* Constant for 64 bit reciprocal of PI.
*/
constexpr Float64 SQMOD_RECIPROCAL_PI64 = 1.0/SQMOD_PI64;
/* ------------------------------------------------------------------------------------------------
* 32bit Constant for converting from degrees to radians.
*/
constexpr Float32 SQMOD_DEGTORAD = SQMOD_PI / 180.0f;
/* ------------------------------------------------------------------------------------------------
* 32bit constant for converting from radians to degrees. (formally known as GRAD_PI)
*/
constexpr Float32 SQMOD_RADTODEG = 180.0f / SQMOD_PI;
/* ------------------------------------------------------------------------------------------------
* 64 bit constant for converting from degrees to radians. (formally known as GRAD_PI2)
*/
constexpr Float64 SQMOD_DEGTORAD64 = SQMOD_PI64 / 180.0;
/* ------------------------------------------------------------------------------------------------
* 64 bit constant for converting from radians to degrees.
*/
constexpr Float64 SQMOD_RADTODEG64 = 180.0 / SQMOD_PI64;
constexpr Float32 SQMOD_DEGTORAD_2 = SQMOD_PI / 360.0f; // M_DEGTORAD / 2.f
constexpr Float64 SQMOD_DEGTORAD64_2 = SQMOD_PI64 / 360.0; // M_DEGTORAD / 2.f
constexpr Float32 SQMOD_RADTODEG = 1.0f / SQMOD_DEGTORAD;
constexpr Float64 SQMOD_RADTODEG64 = 1.0 / SQMOD_DEGTORAD64;
/* ------------------------------------------------------------------------------------------------
* Forward declarations of the logging functions to avoid including the logger everywhere.