From d1cdb46cfbebb5f9313935cf3b5ef862f80d483f Mon Sep 17 00:00:00 2001 From: Jesse Talavera-Greenberg Date: Mon, 5 Oct 2015 18:27:07 -0400 Subject: [PATCH] Wrap tquat's, simdQuat's and simdVec4's static constants in GLM_STATIC_CONST_MEMBERS - Also, fixed indentation --- glm/gtc/quaternion.hpp | 2 + glm/gtc/quaternion.inl | 98 +++++++++++++++++++------------------- glm/gtx/simd_quat.hpp | 2 + glm/gtx/simd_quat.inl | 35 +++++++------- glm/gtx/simd_vec4.hpp | 2 + glm/gtx/simd_vec4.inl | 34 ++++++------- test/gtx/gtx_simd_vec4.cpp | 2 + 7 files changed, 94 insertions(+), 81 deletions(-) diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index 40c910d8..37df9a96 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -76,6 +76,7 @@ namespace glm T x, y, z, w; +# ifdef GLM_STATIC_CONST_MEMBERS static const type ZERO; static const type X; static const type Y; @@ -92,6 +93,7 @@ namespace glm static const type XZW; static const type YZW; static const type XYZW; +# endif // -- Component accesses -- diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index 8d846cba..a50f1f26 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -49,69 +49,71 @@ namespace detail }; }//namespace detail -template -const tquat tquat::ZERO = - tquat(static_cast(0), static_cast(0), static_cast(0), static_cast(0)); +# ifdef GLM_STATIC_CONST_MEMBERS + template + const tquat tquat::ZERO = + tquat(static_cast(0), static_cast(0), static_cast(0), static_cast(0)); -template -const tquat tquat::X = - tquat(static_cast(0), static_cast(1), static_cast(0), static_cast(0)); + template + const tquat tquat::X = + tquat(static_cast(0), static_cast(1), static_cast(0), static_cast(0)); -template -const tquat tquat::Y = - tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(0)); + template + const tquat tquat::Y = + tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(0)); -template -const tquat tquat::Z = - tquat(static_cast(0), static_cast(0), static_cast(0), static_cast(1)); + template + const tquat tquat::Z = + tquat(static_cast(0), static_cast(0), static_cast(0), static_cast(1)); -template -const tquat tquat::W = - tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); + template + const tquat tquat::W = + tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); -template -const tquat tquat::XY = - tquat(static_cast(0), static_cast(1), static_cast(1), static_cast(0)); + template + const tquat tquat::XY = + tquat(static_cast(0), static_cast(1), static_cast(1), static_cast(0)); -template -const tquat tquat::XZ = - tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(1)); + template + const tquat tquat::XZ = + tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(1)); -template -const tquat tquat::XW = - tquat(static_cast(1), static_cast(1), static_cast(0), static_cast(0)); + template + const tquat tquat::XW = + tquat(static_cast(1), static_cast(1), static_cast(0), static_cast(0)); -template -const tquat tquat::YZ = - tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(1)); + template + const tquat tquat::YZ = + tquat(static_cast(0), static_cast(0), static_cast(1), static_cast(1)); -template -const tquat tquat::YW = - tquat(static_cast(1), static_cast(0), static_cast(1), static_cast(0)); + template + const tquat tquat::YW = + tquat(static_cast(1), static_cast(0), static_cast(1), static_cast(0)); -template -const tquat tquat::ZW = - tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(1)); + template + const tquat tquat::ZW = + tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(1)); -template -const tquat tquat::XYZ = - tquat(static_cast(0), static_cast(1), static_cast(1), static_cast(1)); + template + const tquat tquat::XYZ = + tquat(static_cast(0), static_cast(1), static_cast(1), static_cast(1)); -template -const tquat tquat::XYW = - tquat(static_cast(1), static_cast(1), static_cast(1), static_cast(0)); + template + const tquat tquat::XYW = + tquat(static_cast(1), static_cast(1), static_cast(1), static_cast(0)); -template -const tquat tquat::XZW = - tquat(static_cast(1), static_cast(1), static_cast(0), static_cast(1)); + template + const tquat tquat::XZW = + tquat(static_cast(1), static_cast(1), static_cast(0), static_cast(1)); -template -const tquat tquat::YZW = - tquat(static_cast(1), static_cast(0), static_cast(1), static_cast(1)); + template + const tquat tquat::YZW = + tquat(static_cast(1), static_cast(0), static_cast(1), static_cast(1)); -template -const tquat tquat::XYZW = - tquat(static_cast(1), static_cast(1), static_cast(1), static_cast(1)); + template + const tquat tquat::XYZW = + tquat(static_cast(1), static_cast(1), static_cast(1), static_cast(1)); +# endif // -- Component accesses -- # ifdef GLM_FORCE_SIZE_FUNC diff --git a/glm/gtx/simd_quat.hpp b/glm/gtx/simd_quat.hpp index ca9ae2c2..00b32239 100644 --- a/glm/gtx/simd_quat.hpp +++ b/glm/gtx/simd_quat.hpp @@ -91,6 +91,7 @@ namespace detail __m128 Data; #endif +# ifdef GLM_STATIC_CONST_MEMBERS static const type ZERO; static const type X; static const type Y; @@ -107,6 +108,7 @@ namespace detail static const type XZW; static const type YZW; static const type XYZW; +# endif ////////////////////////////////////// // Implicit basic constructors diff --git a/glm/gtx/simd_quat.inl b/glm/gtx/simd_quat.inl index 95d73037..422f3c85 100644 --- a/glm/gtx/simd_quat.inl +++ b/glm/gtx/simd_quat.inl @@ -51,23 +51,24 @@ void print(const fvec4SIMD &v) } #endif -const fquatSIMD fquatSIMD::ZERO = fquatSIMD(0, 0, 0, 0); -const fquatSIMD fquatSIMD::X = fquatSIMD(0, 1, 0, 0); -const fquatSIMD fquatSIMD::Y = fquatSIMD(0, 0, 1, 0); -const fquatSIMD fquatSIMD::Z = fquatSIMD(0, 0, 0, 1); -const fquatSIMD fquatSIMD::W = fquatSIMD(1, 0, 0, 0); -const fquatSIMD fquatSIMD::XY = fquatSIMD(0, 1, 1, 0); -const fquatSIMD fquatSIMD::XZ = fquatSIMD(0, 1, 0, 1); -const fquatSIMD fquatSIMD::XW = fquatSIMD(1, 1, 0, 0); -const fquatSIMD fquatSIMD::YZ = fquatSIMD(0, 0, 1, 1); -const fquatSIMD fquatSIMD::YW = fquatSIMD(1, 0, 1, 0); -const fquatSIMD fquatSIMD::ZW = fquatSIMD(1, 0, 0, 1); -const fquatSIMD fquatSIMD::XYZ = fquatSIMD(0, 1, 1, 1); -const fquatSIMD fquatSIMD::XYW = fquatSIMD(1, 1, 1, 0); -const fquatSIMD fquatSIMD::XZW = fquatSIMD(1, 1, 0, 1); -const fquatSIMD fquatSIMD::YZW = fquatSIMD(1, 0, 1, 1); -const fquatSIMD fquatSIMD::XYZW = fquatSIMD(1, 1, 1, 1); - +# ifdef GLM_STATIC_CONST_MEMBERS + const fquatSIMD fquatSIMD::ZERO = fquatSIMD(0, 0, 0, 0); + const fquatSIMD fquatSIMD::X = fquatSIMD(0, 1, 0, 0); + const fquatSIMD fquatSIMD::Y = fquatSIMD(0, 0, 1, 0); + const fquatSIMD fquatSIMD::Z = fquatSIMD(0, 0, 0, 1); + const fquatSIMD fquatSIMD::W = fquatSIMD(1, 0, 0, 0); + const fquatSIMD fquatSIMD::XY = fquatSIMD(0, 1, 1, 0); + const fquatSIMD fquatSIMD::XZ = fquatSIMD(0, 1, 0, 1); + const fquatSIMD fquatSIMD::XW = fquatSIMD(1, 1, 0, 0); + const fquatSIMD fquatSIMD::YZ = fquatSIMD(0, 0, 1, 1); + const fquatSIMD fquatSIMD::YW = fquatSIMD(1, 0, 1, 0); + const fquatSIMD fquatSIMD::ZW = fquatSIMD(1, 0, 0, 1); + const fquatSIMD fquatSIMD::XYZ = fquatSIMD(0, 1, 1, 1); + const fquatSIMD fquatSIMD::XYW = fquatSIMD(1, 1, 1, 0); + const fquatSIMD fquatSIMD::XZW = fquatSIMD(1, 1, 0, 1); + const fquatSIMD fquatSIMD::YZW = fquatSIMD(1, 0, 1, 1); + const fquatSIMD fquatSIMD::XYZW = fquatSIMD(1, 1, 1, 1); +# endif ////////////////////////////////////// // Implicit basic constructors diff --git a/glm/gtx/simd_vec4.hpp b/glm/gtx/simd_vec4.hpp index 0eb44fa4..5f5a7e11 100644 --- a/glm/gtx/simd_vec4.hpp +++ b/glm/gtx/simd_vec4.hpp @@ -114,6 +114,7 @@ namespace detail __m128 Data; #endif +# ifdef GLM_STATIC_CONST_MEMBERS static const type ZERO; static const type X; static const type Y; @@ -130,6 +131,7 @@ namespace detail static const type XZW; static const type YZW; static const type XYZW; +# endif ////////////////////////////////////// // Implicit basic constructors diff --git a/glm/gtx/simd_vec4.inl b/glm/gtx/simd_vec4.inl index 3ff7d47e..ea327798 100644 --- a/glm/gtx/simd_vec4.inl +++ b/glm/gtx/simd_vec4.inl @@ -16,22 +16,24 @@ struct shuffle_mask enum{value = Value}; }; -const fvec4SIMD fvec4SIMD::ZERO = fvec4SIMD(0, 0, 0, 0); -const fvec4SIMD fvec4SIMD::X = fvec4SIMD(1, 0, 0, 0); -const fvec4SIMD fvec4SIMD::Y = fvec4SIMD(0, 1, 0, 0); -const fvec4SIMD fvec4SIMD::Z = fvec4SIMD(0, 0, 1, 0); -const fvec4SIMD fvec4SIMD::W = fvec4SIMD(0, 0, 0, 1); -const fvec4SIMD fvec4SIMD::XY = fvec4SIMD(1, 1, 0, 0); -const fvec4SIMD fvec4SIMD::XZ = fvec4SIMD(1, 0, 1, 0); -const fvec4SIMD fvec4SIMD::XW = fvec4SIMD(1, 0, 0, 1); -const fvec4SIMD fvec4SIMD::YZ = fvec4SIMD(0, 1, 1, 0); -const fvec4SIMD fvec4SIMD::YW = fvec4SIMD(0, 1, 0, 1); -const fvec4SIMD fvec4SIMD::ZW = fvec4SIMD(0, 0, 1, 1); -const fvec4SIMD fvec4SIMD::XYZ = fvec4SIMD(1, 1, 1, 0); -const fvec4SIMD fvec4SIMD::XYW = fvec4SIMD(1, 1, 0, 1); -const fvec4SIMD fvec4SIMD::XZW = fvec4SIMD(1, 0, 1, 1); -const fvec4SIMD fvec4SIMD::YZW = fvec4SIMD(0, 1, 1, 1); -const fvec4SIMD fvec4SIMD::XYZW = fvec4SIMD(1, 1, 1, 1); +# ifdef GLM_STATIC_CONST_MEMBERS + const fvec4SIMD fvec4SIMD::ZERO = fvec4SIMD(0, 0, 0, 0); + const fvec4SIMD fvec4SIMD::X = fvec4SIMD(1, 0, 0, 0); + const fvec4SIMD fvec4SIMD::Y = fvec4SIMD(0, 1, 0, 0); + const fvec4SIMD fvec4SIMD::Z = fvec4SIMD(0, 0, 1, 0); + const fvec4SIMD fvec4SIMD::W = fvec4SIMD(0, 0, 0, 1); + const fvec4SIMD fvec4SIMD::XY = fvec4SIMD(1, 1, 0, 0); + const fvec4SIMD fvec4SIMD::XZ = fvec4SIMD(1, 0, 1, 0); + const fvec4SIMD fvec4SIMD::XW = fvec4SIMD(1, 0, 0, 1); + const fvec4SIMD fvec4SIMD::YZ = fvec4SIMD(0, 1, 1, 0); + const fvec4SIMD fvec4SIMD::YW = fvec4SIMD(0, 1, 0, 1); + const fvec4SIMD fvec4SIMD::ZW = fvec4SIMD(0, 0, 1, 1); + const fvec4SIMD fvec4SIMD::XYZ = fvec4SIMD(1, 1, 1, 0); + const fvec4SIMD fvec4SIMD::XYW = fvec4SIMD(1, 1, 0, 1); + const fvec4SIMD fvec4SIMD::XZW = fvec4SIMD(1, 0, 1, 1); + const fvec4SIMD fvec4SIMD::YZW = fvec4SIMD(0, 1, 1, 1); + const fvec4SIMD fvec4SIMD::XYZW = fvec4SIMD(1, 1, 1, 1); +# endif ////////////////////////////////////// // Implicit basic constructors diff --git a/test/gtx/gtx_simd_vec4.cpp b/test/gtx/gtx_simd_vec4.cpp index b86eb272..e18a7e39 100644 --- a/test/gtx/gtx_simd_vec4.cpp +++ b/test/gtx/gtx_simd_vec4.cpp @@ -29,6 +29,8 @@ /// @author Christophe Riccio /////////////////////////////////////////////////////////////////////////////////// +#define GLM_STATIC_CONST_MEMBERS + #include #include #include