From f3db1101ab473cbabe66ffc77812d9897882e437 Mon Sep 17 00:00:00 2001 From: Sandu Liviu Catalin Date: Tue, 23 Aug 2016 23:01:57 +0300 Subject: [PATCH] Added a few helper constants in the shared header to prepare for Quaternion implementation. --- source/Base/Shared.hpp | 46 ++++++++++-------------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/source/Base/Shared.hpp b/source/Base/Shared.hpp index 856865d0..dda3bc40 100644 --- a/source/Base/Shared.hpp +++ b/source/Base/Shared.hpp @@ -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.