diff --git a/glm/core/_detail.hpp b/glm/core/_detail.hpp index 9b36a921..3cdd140a 100644 --- a/glm/core/_detail.hpp +++ b/glm/core/_detail.hpp @@ -43,7 +43,7 @@ namespace detail struct If { template - static inline T apply(F functor, const T& val) + static GLM_FUNC_QUALIFIER T apply(F functor, const T& val) { return functor(val); } @@ -53,7 +53,7 @@ namespace detail struct If { template - static inline T apply(F, const T& val) + static GLM_FUNC_QUALIFIER T apply(F, const T& val) { return val; } diff --git a/glm/core/func_common.inl b/glm/core/func_common.inl index 2bc01a98..45768f3f 100644 --- a/glm/core/func_common.inl +++ b/glm/core/func_common.inl @@ -47,14 +47,14 @@ namespace glm // abs template - inline genFIType abs( + GLM_FUNC_QUALIFIER genFIType abs( genFIType const & x) { return detail::Abs_::is_signed>::get(x); } //template - //inline detail::tvec1 abs( + //GLM_FUNC_QUALIFIER detail::tvec1 abs( // detail::tvec1 const & v) //{ // return detail::tvec1( @@ -62,7 +62,7 @@ namespace glm //} template - inline detail::tvec2 abs( + GLM_FUNC_QUALIFIER detail::tvec2 abs( detail::tvec2 const & v) { return detail::tvec2( @@ -71,7 +71,7 @@ namespace glm } template - inline detail::tvec3 abs( + GLM_FUNC_QUALIFIER detail::tvec3 abs( detail::tvec3 const & v) { return detail::tvec3( @@ -81,7 +81,7 @@ namespace glm } template - inline detail::tvec4 abs( + GLM_FUNC_QUALIFIER detail::tvec4 abs( detail::tvec4 const & v) { return detail::tvec4( @@ -95,7 +95,7 @@ namespace glm //Try something like based on x >> 31 to get the sign bit template - inline genFIType sign( + GLM_FUNC_QUALIFIER genFIType sign( genFIType const & x) { GLM_STATIC_ASSERT( @@ -113,7 +113,7 @@ namespace glm } template - inline detail::tvec2 sign( + GLM_FUNC_QUALIFIER detail::tvec2 sign( detail::tvec2 const & x) { return detail::tvec2( @@ -122,7 +122,7 @@ namespace glm } template - inline detail::tvec3 sign( + GLM_FUNC_QUALIFIER detail::tvec3 sign( detail::tvec3 const & x) { return detail::tvec3( @@ -132,7 +132,7 @@ namespace glm } template - inline detail::tvec4 sign( + GLM_FUNC_QUALIFIER detail::tvec4 sign( detail::tvec4 const & x) { return detail::tvec4( @@ -144,13 +144,13 @@ namespace glm // floor template <> - inline detail::thalf floor(detail::thalf const& x) + GLM_FUNC_QUALIFIER detail::thalf floor(detail::thalf const& x) { return detail::thalf(::std::floor(float(x))); } template - inline genType floor(genType const& x) + GLM_FUNC_QUALIFIER genType floor(genType const& x) { GLM_STATIC_ASSERT(detail::type::is_float, "'floor' only accept floating-point inputs"); @@ -158,7 +158,7 @@ namespace glm } template - inline detail::tvec2 floor(detail::tvec2 const& x) + GLM_FUNC_QUALIFIER detail::tvec2 floor(detail::tvec2 const& x) { return detail::tvec2( floor(x.x), @@ -166,7 +166,7 @@ namespace glm } template - inline detail::tvec3 floor(detail::tvec3 const& x) + GLM_FUNC_QUALIFIER detail::tvec3 floor(detail::tvec3 const& x) { return detail::tvec3( floor(x.x), @@ -175,7 +175,7 @@ namespace glm } template - inline detail::tvec4 floor(detail::tvec4 const& x) + GLM_FUNC_QUALIFIER detail::tvec4 floor(detail::tvec4 const& x) { return detail::tvec4( floor(x.x), @@ -186,14 +186,14 @@ namespace glm // trunc template - inline genType trunc(genType const & x) + GLM_FUNC_QUALIFIER genType trunc(genType const & x) { GLM_STATIC_ASSERT(detail::type::is_float, "'trunc' only accept floating-point inputs"); return x < 0 ? -floor(-x) : floor(x); } template - inline detail::tvec2 trunc(detail::tvec2 const & x) + GLM_FUNC_QUALIFIER detail::tvec2 trunc(detail::tvec2 const & x) { return detail::tvec2( trunc(x.x), @@ -201,7 +201,7 @@ namespace glm } template - inline detail::tvec3 trunc(detail::tvec3 const & x) + GLM_FUNC_QUALIFIER detail::tvec3 trunc(detail::tvec3 const & x) { return detail::tvec3( trunc(x.x), @@ -210,7 +210,7 @@ namespace glm } template - inline detail::tvec4 trunc(detail::tvec4 const & x) + GLM_FUNC_QUALIFIER detail::tvec4 trunc(detail::tvec4 const & x) { return detail::tvec4( trunc(x.x), @@ -221,7 +221,7 @@ namespace glm // round template - inline genType round(genType const& x) + GLM_FUNC_QUALIFIER genType round(genType const& x) { GLM_STATIC_ASSERT(detail::type::is_float, "'round' only accept floating-point inputs"); @@ -229,7 +229,7 @@ namespace glm } template - inline detail::tvec2 round(detail::tvec2 const& x) + GLM_FUNC_QUALIFIER detail::tvec2 round(detail::tvec2 const& x) { return detail::tvec2( round(x.x), @@ -237,7 +237,7 @@ namespace glm } template - inline detail::tvec3 round(detail::tvec3 const& x) + GLM_FUNC_QUALIFIER detail::tvec3 round(detail::tvec3 const& x) { return detail::tvec3( round(x.x), @@ -246,7 +246,7 @@ namespace glm } template - inline detail::tvec4 round(detail::tvec4 const& x) + GLM_FUNC_QUALIFIER detail::tvec4 round(detail::tvec4 const& x) { return detail::tvec4( round(x.x), @@ -257,7 +257,7 @@ namespace glm // roundEven template - inline genType roundEven(genType const& x) + GLM_FUNC_QUALIFIER genType roundEven(genType const& x) { GLM_STATIC_ASSERT(detail::type::is_float, "'roundEven' only accept floating-point inputs"); @@ -265,7 +265,7 @@ namespace glm } template - inline detail::tvec2 roundEven(detail::tvec2 const& x) + GLM_FUNC_QUALIFIER detail::tvec2 roundEven(detail::tvec2 const& x) { return detail::tvec2( roundEven(x.x), @@ -273,7 +273,7 @@ namespace glm } template - inline detail::tvec3 roundEven(detail::tvec3 const& x) + GLM_FUNC_QUALIFIER detail::tvec3 roundEven(detail::tvec3 const& x) { return detail::tvec3( roundEven(x.x), @@ -282,7 +282,7 @@ namespace glm } template - inline detail::tvec4 roundEven(detail::tvec4 const& x) + GLM_FUNC_QUALIFIER detail::tvec4 roundEven(detail::tvec4 const& x) { return detail::tvec4( roundEven(x.x), @@ -293,7 +293,7 @@ namespace glm // ceil template - inline genType ceil(genType const & x) + GLM_FUNC_QUALIFIER genType ceil(genType const & x) { GLM_STATIC_ASSERT(detail::type::is_float, "'ceil' only accept floating-point inputs"); @@ -301,7 +301,7 @@ namespace glm } template - inline detail::tvec2 ceil(detail::tvec2 const & x) + GLM_FUNC_QUALIFIER detail::tvec2 ceil(detail::tvec2 const & x) { return detail::tvec2( ceil(x.x), @@ -309,7 +309,7 @@ namespace glm } template - inline detail::tvec3 ceil(detail::tvec3 const & x) + GLM_FUNC_QUALIFIER detail::tvec3 ceil(detail::tvec3 const & x) { return detail::tvec3( ceil(x.x), @@ -318,7 +318,7 @@ namespace glm } template - inline detail::tvec4 ceil(detail::tvec4 const & x) + GLM_FUNC_QUALIFIER detail::tvec4 ceil(detail::tvec4 const & x) { return detail::tvec4( ceil(x.x), @@ -329,7 +329,7 @@ namespace glm // fract template - inline genType fract + GLM_FUNC_QUALIFIER genType fract ( genType const & x ) @@ -340,7 +340,7 @@ namespace glm } template - inline detail::tvec2 fract + GLM_FUNC_QUALIFIER detail::tvec2 fract ( detail::tvec2 const & x ) @@ -351,7 +351,7 @@ namespace glm } template - inline detail::tvec3 fract + GLM_FUNC_QUALIFIER detail::tvec3 fract ( detail::tvec3 const & x ) @@ -363,7 +363,7 @@ namespace glm } template - inline detail::tvec4 fract + GLM_FUNC_QUALIFIER detail::tvec4 fract ( detail::tvec4 const & x ) @@ -377,7 +377,7 @@ namespace glm // mod template - inline genType mod + GLM_FUNC_QUALIFIER genType mod ( genType const & x, genType const & y @@ -389,7 +389,7 @@ namespace glm } template - inline detail::tvec2 mod + GLM_FUNC_QUALIFIER detail::tvec2 mod ( detail::tvec2 const & x, typename detail::tvec2::value_type const & y @@ -401,7 +401,7 @@ namespace glm } template - inline detail::tvec3 mod + GLM_FUNC_QUALIFIER detail::tvec3 mod ( detail::tvec3 const & x, typename detail::tvec3::value_type const & y @@ -414,7 +414,7 @@ namespace glm } template - inline detail::tvec4 mod + GLM_FUNC_QUALIFIER detail::tvec4 mod ( detail::tvec4 const & x, typename detail::tvec4::value_type const & y @@ -428,7 +428,7 @@ namespace glm } template - inline detail::tvec2 mod + GLM_FUNC_QUALIFIER detail::tvec2 mod ( detail::tvec2 const & x, detail::tvec2 const & y @@ -440,7 +440,7 @@ namespace glm } template - inline detail::tvec3 mod + GLM_FUNC_QUALIFIER detail::tvec3 mod ( detail::tvec3 const & x, detail::tvec3 const & y @@ -453,7 +453,7 @@ namespace glm } template - inline detail::tvec4 mod + GLM_FUNC_QUALIFIER detail::tvec4 mod ( detail::tvec4 const & x, detail::tvec4 const & y @@ -468,7 +468,7 @@ namespace glm // modf template - inline genType modf + GLM_FUNC_QUALIFIER genType modf ( genType const & x, genType & i @@ -482,7 +482,7 @@ namespace glm } template - inline detail::tvec2 modf + GLM_FUNC_QUALIFIER detail::tvec2 modf ( detail::tvec2 const & x, detail::tvec2 const & y @@ -494,7 +494,7 @@ namespace glm } template - inline detail::tvec3 modf + GLM_FUNC_QUALIFIER detail::tvec3 modf ( detail::tvec3 const & x, detail::tvec3 const & y @@ -507,7 +507,7 @@ namespace glm } template - inline detail::tvec4 modf + GLM_FUNC_QUALIFIER detail::tvec4 modf ( detail::tvec4 const & x, detail::tvec4 const & y @@ -530,7 +530,7 @@ namespace glm // min template - inline genType min + GLM_FUNC_QUALIFIER genType min ( genType const & x, genType const & y @@ -545,7 +545,7 @@ namespace glm } template - inline detail::tvec2 min + GLM_FUNC_QUALIFIER detail::tvec2 min ( detail::tvec2 const & x, typename detail::tvec2::value_type const & y @@ -557,7 +557,7 @@ namespace glm } template - inline detail::tvec3 min + GLM_FUNC_QUALIFIER detail::tvec3 min ( detail::tvec3 const & x, typename detail::tvec3::value_type const & y @@ -570,7 +570,7 @@ namespace glm } template - inline detail::tvec4 min + GLM_FUNC_QUALIFIER detail::tvec4 min ( detail::tvec4 const & x, typename detail::tvec4::value_type const & y @@ -584,7 +584,7 @@ namespace glm } template - inline detail::tvec2 min + GLM_FUNC_QUALIFIER detail::tvec2 min ( detail::tvec2 const & x, detail::tvec2 const & y @@ -596,7 +596,7 @@ namespace glm } template - inline detail::tvec3 min + GLM_FUNC_QUALIFIER detail::tvec3 min ( detail::tvec3 const & x, detail::tvec3 const & y @@ -609,7 +609,7 @@ namespace glm } template - inline detail::tvec4 min + GLM_FUNC_QUALIFIER detail::tvec4 min ( detail::tvec4 const & x, detail::tvec4 const & y @@ -624,7 +624,7 @@ namespace glm // max template - inline genType max + GLM_FUNC_QUALIFIER genType max ( genType const & x, genType const & y @@ -639,7 +639,7 @@ namespace glm } template - inline detail::tvec2 max + GLM_FUNC_QUALIFIER detail::tvec2 max ( detail::tvec2 const & x, typename detail::tvec2::value_type y @@ -651,7 +651,7 @@ namespace glm } template - inline detail::tvec3 max + GLM_FUNC_QUALIFIER detail::tvec3 max ( detail::tvec3 const & x, typename detail::tvec3::value_type y @@ -664,7 +664,7 @@ namespace glm } template - inline detail::tvec4 max + GLM_FUNC_QUALIFIER detail::tvec4 max ( detail::tvec4 const & x, typename detail::tvec4::value_type y @@ -678,7 +678,7 @@ namespace glm } template - inline detail::tvec2 max + GLM_FUNC_QUALIFIER detail::tvec2 max ( detail::tvec2 const & x, detail::tvec2 const & y @@ -690,7 +690,7 @@ namespace glm } template - inline detail::tvec3 max + GLM_FUNC_QUALIFIER detail::tvec3 max ( detail::tvec3 const & x, detail::tvec3 const & y @@ -703,7 +703,7 @@ namespace glm } template - inline detail::tvec4 max + GLM_FUNC_QUALIFIER detail::tvec4 max ( detail::tvec4 const & x, detail::tvec4 const & y) @@ -717,7 +717,7 @@ namespace glm // clamp template - inline valType clamp + GLM_FUNC_QUALIFIER valType clamp ( valType const & x, valType const & minVal, @@ -737,7 +737,7 @@ namespace glm } template - inline detail::tvec2 clamp + GLM_FUNC_QUALIFIER detail::tvec2 clamp ( detail::tvec2 const & x, typename detail::tvec2::value_type const & minVal, @@ -750,7 +750,7 @@ namespace glm } template - inline detail::tvec3 clamp + GLM_FUNC_QUALIFIER detail::tvec3 clamp ( detail::tvec3 const & x, typename detail::tvec3::value_type const & minVal, @@ -764,7 +764,7 @@ namespace glm } template - inline detail::tvec4 clamp + GLM_FUNC_QUALIFIER detail::tvec4 clamp ( detail::tvec4 const & x, typename detail::tvec4::value_type const & minVal, @@ -779,7 +779,7 @@ namespace glm } template - inline detail::tvec2 clamp + GLM_FUNC_QUALIFIER detail::tvec2 clamp ( detail::tvec2 const & x, detail::tvec2 const & minVal, @@ -792,7 +792,7 @@ namespace glm } template - inline detail::tvec3 clamp + GLM_FUNC_QUALIFIER detail::tvec3 clamp ( detail::tvec3 const & x, detail::tvec3 const & minVal, @@ -806,7 +806,7 @@ namespace glm } template - inline detail::tvec4 clamp + GLM_FUNC_QUALIFIER detail::tvec4 clamp ( detail::tvec4 const & x, detail::tvec4 const & minVal, @@ -822,7 +822,7 @@ namespace glm // mix template - inline genTypeT mix + GLM_FUNC_QUALIFIER genTypeT mix ( genTypeT const & x, genTypeT const & y, @@ -839,7 +839,7 @@ namespace glm } template - inline detail::tvec2 mix + GLM_FUNC_QUALIFIER detail::tvec2 mix ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -851,7 +851,7 @@ namespace glm } template - inline detail::tvec3 mix + GLM_FUNC_QUALIFIER detail::tvec3 mix ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -863,7 +863,7 @@ namespace glm } template - inline detail::tvec4 mix + GLM_FUNC_QUALIFIER detail::tvec4 mix ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -875,7 +875,7 @@ namespace glm } template - inline detail::tvec2 mix + GLM_FUNC_QUALIFIER detail::tvec2 mix ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -887,7 +887,7 @@ namespace glm } template - inline detail::tvec3 mix + GLM_FUNC_QUALIFIER detail::tvec3 mix ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -899,7 +899,7 @@ namespace glm } template - inline detail::tvec4 mix + GLM_FUNC_QUALIFIER detail::tvec4 mix ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -911,7 +911,7 @@ namespace glm } //template - //inline genTypeT mix + //GLM_FUNC_QUALIFIER genTypeT mix //( // genTypeT const & x, // genTypeT const & y, @@ -927,7 +927,7 @@ namespace glm //} template - inline genType mix + GLM_FUNC_QUALIFIER genType mix ( genType const & x, genType const & y, @@ -940,7 +940,7 @@ namespace glm } template - inline detail::tvec2 mix + GLM_FUNC_QUALIFIER detail::tvec2 mix ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -963,7 +963,7 @@ namespace glm } template - inline detail::tvec3 mix + GLM_FUNC_QUALIFIER detail::tvec3 mix ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -986,7 +986,7 @@ namespace glm } template - inline detail::tvec4 mix + GLM_FUNC_QUALIFIER detail::tvec4 mix ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -1010,7 +1010,7 @@ namespace glm // step template - inline genType step + GLM_FUNC_QUALIFIER genType step ( genType const & edge, genType const & x @@ -1022,7 +1022,7 @@ namespace glm } template - inline detail::tvec2 step + GLM_FUNC_QUALIFIER detail::tvec2 step ( typename detail::tvec2::value_type const & edge, detail::tvec2 const & x @@ -1034,7 +1034,7 @@ namespace glm } template - inline detail::tvec3 step + GLM_FUNC_QUALIFIER detail::tvec3 step ( typename detail::tvec3::value_type const & edge, detail::tvec3 const & x @@ -1047,7 +1047,7 @@ namespace glm } template - inline detail::tvec4 step + GLM_FUNC_QUALIFIER detail::tvec4 step ( typename detail::tvec4::value_type const & edge, detail::tvec4 const & x @@ -1061,7 +1061,7 @@ namespace glm } template - inline detail::tvec2 step + GLM_FUNC_QUALIFIER detail::tvec2 step ( detail::tvec2 const & edge, detail::tvec2 const & x @@ -1073,7 +1073,7 @@ namespace glm } template - inline detail::tvec3 step + GLM_FUNC_QUALIFIER detail::tvec3 step ( detail::tvec3 const & edge, detail::tvec3 const & x @@ -1086,7 +1086,7 @@ namespace glm } template - inline detail::tvec4 step + GLM_FUNC_QUALIFIER detail::tvec4 step ( detail::tvec4 const & edge, detail::tvec4 const & x @@ -1101,7 +1101,7 @@ namespace glm // smoothstep template - inline genType smoothstep + GLM_FUNC_QUALIFIER genType smoothstep ( genType const & edge0, genType const & edge1, @@ -1115,7 +1115,7 @@ namespace glm } template - inline detail::tvec2 smoothstep + GLM_FUNC_QUALIFIER detail::tvec2 smoothstep ( typename detail::tvec2::value_type const & edge0, typename detail::tvec2::value_type const & edge1, @@ -1128,7 +1128,7 @@ namespace glm } template - inline detail::tvec3 smoothstep + GLM_FUNC_QUALIFIER detail::tvec3 smoothstep ( typename detail::tvec3::value_type const & edge0, typename detail::tvec3::value_type const & edge1, @@ -1142,7 +1142,7 @@ namespace glm } template - inline detail::tvec4 smoothstep + GLM_FUNC_QUALIFIER detail::tvec4 smoothstep ( typename detail::tvec4::value_type const & edge0, typename detail::tvec4::value_type const & edge1, @@ -1157,7 +1157,7 @@ namespace glm } template - inline detail::tvec2 smoothstep + GLM_FUNC_QUALIFIER detail::tvec2 smoothstep ( detail::tvec2 const & edge0, detail::tvec2 const & edge1, @@ -1170,7 +1170,7 @@ namespace glm } template - inline detail::tvec3 smoothstep + GLM_FUNC_QUALIFIER detail::tvec3 smoothstep ( detail::tvec3 const & edge0, detail::tvec3 const & edge1, @@ -1184,7 +1184,7 @@ namespace glm } template - inline detail::tvec4 smoothstep + GLM_FUNC_QUALIFIER detail::tvec4 smoothstep ( detail::tvec4 const & edge0, detail::tvec4 const & edge1, @@ -1199,7 +1199,7 @@ namespace glm } template - inline typename genType::bool_type isnan + GLM_FUNC_QUALIFIER typename genType::bool_type isnan ( genType const & x ) @@ -1214,7 +1214,7 @@ namespace glm } template - inline typename detail::tvec2::bool_type isnan + GLM_FUNC_QUALIFIER typename detail::tvec2::bool_type isnan ( detail::tvec2 const & x ) @@ -1225,7 +1225,7 @@ namespace glm } template - inline typename detail::tvec3::bool_type isnan + GLM_FUNC_QUALIFIER typename detail::tvec3::bool_type isnan ( detail::tvec3 const & x ) @@ -1237,7 +1237,7 @@ namespace glm } template - inline typename detail::tvec4::bool_type isnan + GLM_FUNC_QUALIFIER typename detail::tvec4::bool_type isnan ( detail::tvec4 const & x ) @@ -1250,7 +1250,7 @@ namespace glm } template - inline typename genType::bool_type isinf + GLM_FUNC_QUALIFIER typename genType::bool_type isinf ( genType const & x ) @@ -1265,7 +1265,7 @@ namespace glm } template - inline typename detail::tvec2::bool_type isinf + GLM_FUNC_QUALIFIER typename detail::tvec2::bool_type isinf ( detail::tvec2 const & x ) @@ -1276,7 +1276,7 @@ namespace glm } template - inline typename detail::tvec3::bool_type isinf + GLM_FUNC_QUALIFIER typename detail::tvec3::bool_type isinf ( detail::tvec3 const & x ) @@ -1288,7 +1288,7 @@ namespace glm } template - inline typename detail::tvec4::bool_type isinf + GLM_FUNC_QUALIFIER typename detail::tvec4::bool_type isinf ( detail::tvec4 const & x ) @@ -1300,7 +1300,7 @@ namespace glm isnan(x.w)); } - inline int floatBitsToInt(float const & value) + GLM_FUNC_QUALIFIER int floatBitsToInt(float const & value) { union { @@ -1313,7 +1313,7 @@ namespace glm } template - inline detail::tvec2 floatBitsToInt + GLM_FUNC_QUALIFIER detail::tvec2 floatBitsToInt ( detail::tvec2 const & value ) @@ -1324,7 +1324,7 @@ namespace glm } template - inline detail::tvec3 floatBitsToInt + GLM_FUNC_QUALIFIER detail::tvec3 floatBitsToInt ( detail::tvec3 const & value ) @@ -1335,7 +1335,7 @@ namespace glm } template - inline detail::tvec4 floatBitsToInt + GLM_FUNC_QUALIFIER detail::tvec4 floatBitsToInt ( detail::tvec4 const & value ) @@ -1345,7 +1345,7 @@ namespace glm floatBitsToInt(value.y)); } - inline uint floatBitsToUint(float const & value) + GLM_FUNC_QUALIFIER uint floatBitsToUint(float const & value) { union { @@ -1358,7 +1358,7 @@ namespace glm } template - inline detail::tvec2 floatBitsToUint + GLM_FUNC_QUALIFIER detail::tvec2 floatBitsToUint ( detail::tvec2 const & value ) @@ -1369,7 +1369,7 @@ namespace glm } template - inline detail::tvec3 floatBitsToUint + GLM_FUNC_QUALIFIER detail::tvec3 floatBitsToUint ( detail::tvec3 const & value ) @@ -1380,7 +1380,7 @@ namespace glm } template - inline detail::tvec4 floatBitsToUint + GLM_FUNC_QUALIFIER detail::tvec4 floatBitsToUint ( detail::tvec4 const & value ) @@ -1390,7 +1390,7 @@ namespace glm floatBitsToUint(value.y)); } - inline float intBitsToFloat(int const & value) + GLM_FUNC_QUALIFIER float intBitsToFloat(int const & value) { union { @@ -1403,7 +1403,7 @@ namespace glm } template - inline detail::tvec2 intBitsToFloat + GLM_FUNC_QUALIFIER detail::tvec2 intBitsToFloat ( detail::tvec2 const & value ) @@ -1414,7 +1414,7 @@ namespace glm } template - inline detail::tvec3 intBitsToFloat + GLM_FUNC_QUALIFIER detail::tvec3 intBitsToFloat ( detail::tvec3 const & value ) @@ -1425,7 +1425,7 @@ namespace glm } template - inline detail::tvec4 intBitsToFloat + GLM_FUNC_QUALIFIER detail::tvec4 intBitsToFloat ( detail::tvec4 const & value ) @@ -1481,7 +1481,7 @@ namespace glm } template - inline genType fma + GLM_FUNC_QUALIFIER genType fma ( genType const & a, genType const & b, diff --git a/glm/core/func_exponential.inl b/glm/core/func_exponential.inl index 22215ade..d3bc59ea 100644 --- a/glm/core/func_exponential.inl +++ b/glm/core/func_exponential.inl @@ -15,7 +15,7 @@ namespace glm // pow template - inline genType pow + GLM_FUNC_QUALIFIER genType pow ( genType const & x, genType const & y @@ -27,7 +27,7 @@ namespace glm } template - inline detail::tvec2 pow + GLM_FUNC_QUALIFIER detail::tvec2 pow ( detail::tvec2 const & x, detail::tvec2 const & y @@ -39,7 +39,7 @@ namespace glm } template - inline detail::tvec3 pow + GLM_FUNC_QUALIFIER detail::tvec3 pow ( detail::tvec3 const & x, detail::tvec3 const & y @@ -52,7 +52,7 @@ namespace glm } template - inline detail::tvec4 pow + GLM_FUNC_QUALIFIER detail::tvec4 pow ( detail::tvec4 const & x, detail::tvec4 const & y @@ -67,7 +67,7 @@ namespace glm // exp template - inline genType exp + GLM_FUNC_QUALIFIER genType exp ( genType const & x ) @@ -78,7 +78,7 @@ namespace glm } template - inline detail::tvec2 exp + GLM_FUNC_QUALIFIER detail::tvec2 exp ( detail::tvec2 const & x ) @@ -89,7 +89,7 @@ namespace glm } template - inline detail::tvec3 exp + GLM_FUNC_QUALIFIER detail::tvec3 exp ( detail::tvec3 const & x ) @@ -101,7 +101,7 @@ namespace glm } template - inline detail::tvec4 exp + GLM_FUNC_QUALIFIER detail::tvec4 exp ( detail::tvec4 const & x ) @@ -115,7 +115,7 @@ namespace glm // log template - inline genType log + GLM_FUNC_QUALIFIER genType log ( genType const & x ) @@ -126,7 +126,7 @@ namespace glm } template - inline detail::tvec2 log + GLM_FUNC_QUALIFIER detail::tvec2 log ( detail::tvec2 const & x ) @@ -137,7 +137,7 @@ namespace glm } template - inline detail::tvec3 log + GLM_FUNC_QUALIFIER detail::tvec3 log ( detail::tvec3 const & x ) @@ -149,7 +149,7 @@ namespace glm } template - inline detail::tvec4 log + GLM_FUNC_QUALIFIER detail::tvec4 log ( detail::tvec4 const & x ) @@ -163,7 +163,7 @@ namespace glm //exp2, ln2 = 0.69314718055994530941723212145818f template - inline genType exp2 + GLM_FUNC_QUALIFIER genType exp2 ( genType const & x ) @@ -174,7 +174,7 @@ namespace glm } template - inline detail::tvec2 exp2 + GLM_FUNC_QUALIFIER detail::tvec2 exp2 ( detail::tvec2 const & x ) @@ -185,7 +185,7 @@ namespace glm } template - inline detail::tvec3 exp2 + GLM_FUNC_QUALIFIER detail::tvec3 exp2 ( detail::tvec3 const & x ) @@ -197,7 +197,7 @@ namespace glm } template - inline detail::tvec4 exp2 + GLM_FUNC_QUALIFIER detail::tvec4 exp2 ( detail::tvec4 const & x ) @@ -211,7 +211,7 @@ namespace glm // log2, ln2 = 0.69314718055994530941723212145818f template - inline genType log2 + GLM_FUNC_QUALIFIER genType log2 ( genType const & x ) @@ -222,7 +222,7 @@ namespace glm } template - inline detail::tvec2 log2 + GLM_FUNC_QUALIFIER detail::tvec2 log2 ( detail::tvec2 const & x ) @@ -233,7 +233,7 @@ namespace glm } template - inline detail::tvec3 log2 + GLM_FUNC_QUALIFIER detail::tvec3 log2 ( detail::tvec3 const & x ) @@ -245,7 +245,7 @@ namespace glm } template - inline detail::tvec4 log2 + GLM_FUNC_QUALIFIER detail::tvec4 log2 ( detail::tvec4 const & x ) @@ -259,7 +259,7 @@ namespace glm // sqrt template - inline genType sqrt + GLM_FUNC_QUALIFIER genType sqrt ( genType const & x ) @@ -270,7 +270,7 @@ namespace glm } template - inline detail::tvec2 sqrt + GLM_FUNC_QUALIFIER detail::tvec2 sqrt ( detail::tvec2 const & x ) @@ -281,7 +281,7 @@ namespace glm } template - inline detail::tvec3 sqrt + GLM_FUNC_QUALIFIER detail::tvec3 sqrt ( detail::tvec3 const & x ) @@ -293,7 +293,7 @@ namespace glm } template - inline detail::tvec4 sqrt + GLM_FUNC_QUALIFIER detail::tvec4 sqrt ( detail::tvec4 const & x ) @@ -306,7 +306,7 @@ namespace glm } template - inline genType inversesqrt + GLM_FUNC_QUALIFIER genType inversesqrt ( genType const & x ) @@ -317,7 +317,7 @@ namespace glm } template - inline detail::tvec2 inversesqrt + GLM_FUNC_QUALIFIER detail::tvec2 inversesqrt ( detail::tvec2 const & x ) @@ -328,7 +328,7 @@ namespace glm } template - inline detail::tvec3 inversesqrt + GLM_FUNC_QUALIFIER detail::tvec3 inversesqrt ( detail::tvec3 const & x ) @@ -340,7 +340,7 @@ namespace glm } template - inline detail::tvec4 inversesqrt + GLM_FUNC_QUALIFIER detail::tvec4 inversesqrt ( detail::tvec4 const & x ) diff --git a/glm/core/func_geometric.inl b/glm/core/func_geometric.inl index 6a259a13..086b5220 100644 --- a/glm/core/func_geometric.inl +++ b/glm/core/func_geometric.inl @@ -15,7 +15,7 @@ namespace glm // length template - inline genType length + GLM_FUNC_QUALIFIER genType length ( genType const & x ) @@ -27,7 +27,7 @@ namespace glm } template - inline typename detail::tvec2::value_type length + GLM_FUNC_QUALIFIER typename detail::tvec2::value_type length ( detail::tvec2 const & v ) @@ -39,7 +39,7 @@ namespace glm } template - inline typename detail::tvec3::value_type length + GLM_FUNC_QUALIFIER typename detail::tvec3::value_type length ( detail::tvec3 const & v ) @@ -51,7 +51,7 @@ namespace glm } template - inline typename detail::tvec4::value_type length + GLM_FUNC_QUALIFIER typename detail::tvec4::value_type length ( detail::tvec4 const & v ) @@ -64,7 +64,7 @@ namespace glm // distance template - inline genType distance + GLM_FUNC_QUALIFIER genType distance ( genType const & p0, genType const & p1 @@ -76,7 +76,7 @@ namespace glm } template - inline typename detail::tvec2::value_type distance + GLM_FUNC_QUALIFIER typename detail::tvec2::value_type distance ( detail::tvec2 const & p0, detail::tvec2 const & p1 @@ -88,7 +88,7 @@ namespace glm } template - inline typename detail::tvec3::value_type distance + GLM_FUNC_QUALIFIER typename detail::tvec3::value_type distance ( detail::tvec3 const & p0, detail::tvec3 const & p1 @@ -100,7 +100,7 @@ namespace glm } template - inline typename detail::tvec4::value_type distance + GLM_FUNC_QUALIFIER typename detail::tvec4::value_type distance ( detail::tvec4 const & p0, detail::tvec4 const & p1 @@ -113,7 +113,7 @@ namespace glm // dot template - inline genType dot + GLM_FUNC_QUALIFIER genType dot ( genType const & x, genType const & y @@ -125,7 +125,7 @@ namespace glm } template - inline typename detail::tvec2::value_type dot + GLM_FUNC_QUALIFIER typename detail::tvec2::value_type dot ( detail::tvec2 const & x, detail::tvec2 const & y @@ -137,7 +137,7 @@ namespace glm } template - inline T dot + GLM_FUNC_QUALIFIER T dot ( detail::tvec3 const & x, detail::tvec3 const & y @@ -148,7 +148,7 @@ namespace glm return x.x * y.x + x.y * y.y + x.z * y.z; } /* // SSE3 - inline float dot(const tvec4& x, const tvec4& y) + GLM_FUNC_QUALIFIER float dot(const tvec4& x, const tvec4& y) { float Result; __asm @@ -165,7 +165,7 @@ namespace glm } */ template - inline T dot + GLM_FUNC_QUALIFIER T dot ( detail::tvec4 const & x, detail::tvec4 const & y @@ -178,7 +178,7 @@ namespace glm // cross template - inline detail::tvec3 cross + GLM_FUNC_QUALIFIER detail::tvec3 cross ( detail::tvec3 const & x, detail::tvec3 const & y @@ -194,7 +194,7 @@ namespace glm // normalize template - inline genType normalize + GLM_FUNC_QUALIFIER genType normalize ( genType const & x ) @@ -206,7 +206,7 @@ namespace glm // According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefine and generate an error template - inline detail::tvec2 normalize + GLM_FUNC_QUALIFIER detail::tvec2 normalize ( detail::tvec2 const & x ) @@ -218,7 +218,7 @@ namespace glm } template - inline detail::tvec3 normalize + GLM_FUNC_QUALIFIER detail::tvec3 normalize ( detail::tvec3 const & x ) @@ -230,7 +230,7 @@ namespace glm } template - inline detail::tvec4 normalize + GLM_FUNC_QUALIFIER detail::tvec4 normalize ( detail::tvec4 const & x ) @@ -243,7 +243,7 @@ namespace glm // faceforward template - inline genType faceforward + GLM_FUNC_QUALIFIER genType faceforward ( genType const & N, genType const & I, @@ -266,7 +266,7 @@ namespace glm // refract template - inline genType refract + GLM_FUNC_QUALIFIER genType refract ( genType const & I, genType const & N, diff --git a/glm/core/func_integer.inl b/glm/core/func_integer.inl index c5e6fe25..98d517e9 100644 --- a/glm/core/func_integer.inl +++ b/glm/core/func_integer.inl @@ -20,7 +20,7 @@ namespace glm { // uaddCarry template - inline genUType uaddCarry + GLM_FUNC_QUALIFIER genUType uaddCarry ( genUType const & x, genUType const & y, @@ -34,7 +34,7 @@ namespace glm } template - inline detail::tvec2 uaddCarry + GLM_FUNC_QUALIFIER detail::tvec2 uaddCarry ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -47,7 +47,7 @@ namespace glm } template - inline detail::tvec3 uaddCarry + GLM_FUNC_QUALIFIER detail::tvec3 uaddCarry ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -61,7 +61,7 @@ namespace glm } template - inline detail::tvec4 uaddCarry + GLM_FUNC_QUALIFIER detail::tvec4 uaddCarry ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -77,7 +77,7 @@ namespace glm // usubBorrow template - inline genUType usubBorrow + GLM_FUNC_QUALIFIER genUType usubBorrow ( genUType const & x, genUType const & y, @@ -92,7 +92,7 @@ namespace glm } template - inline detail::tvec2 usubBorrow + GLM_FUNC_QUALIFIER detail::tvec2 usubBorrow ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -105,7 +105,7 @@ namespace glm } template - inline detail::tvec3 usubBorrow + GLM_FUNC_QUALIFIER detail::tvec3 usubBorrow ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -119,7 +119,7 @@ namespace glm } template - inline detail::tvec4 usubBorrow + GLM_FUNC_QUALIFIER detail::tvec4 usubBorrow ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -135,7 +135,7 @@ namespace glm // umulExtended template - inline void umulExtended + GLM_FUNC_QUALIFIER void umulExtended ( genUType const & x, genUType const & y, @@ -151,7 +151,7 @@ namespace glm } template - inline detail::tvec2 umulExtended + GLM_FUNC_QUALIFIER detail::tvec2 umulExtended ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -165,7 +165,7 @@ namespace glm } template - inline detail::tvec3 umulExtended + GLM_FUNC_QUALIFIER detail::tvec3 umulExtended ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -180,7 +180,7 @@ namespace glm } template - inline detail::tvec4 umulExtended + GLM_FUNC_QUALIFIER detail::tvec4 umulExtended ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -213,7 +213,7 @@ namespace glm } template - inline detail::tvec2 imulExtended + GLM_FUNC_QUALIFIER detail::tvec2 imulExtended ( detail::tvec2 const & x, detail::tvec2 const & y, @@ -227,7 +227,7 @@ namespace glm } template - inline detail::tvec3 imulExtended + GLM_FUNC_QUALIFIER detail::tvec3 imulExtended ( detail::tvec3 const & x, detail::tvec3 const & y, @@ -242,7 +242,7 @@ namespace glm } template - inline detail::tvec4 imulExtended + GLM_FUNC_QUALIFIER detail::tvec4 imulExtended ( detail::tvec4 const & x, detail::tvec4 const & y, @@ -281,7 +281,7 @@ namespace glm } template - inline detail::tvec2 bitfieldExtract + GLM_FUNC_QUALIFIER detail::tvec2 bitfieldExtract ( detail::tvec2 const & Value, int const & Offset, @@ -294,7 +294,7 @@ namespace glm } template - inline detail::tvec3 bitfieldExtract + GLM_FUNC_QUALIFIER detail::tvec3 bitfieldExtract ( detail::tvec3 const & Value, int const & Offset, @@ -308,7 +308,7 @@ namespace glm } template - inline detail::tvec4 bitfieldExtract + GLM_FUNC_QUALIFIER detail::tvec4 bitfieldExtract ( detail::tvec4 const & Value, int const & Offset, @@ -324,7 +324,7 @@ namespace glm // bitfieldInsert template - inline genIUType bitfieldInsert + GLM_FUNC_QUALIFIER genIUType bitfieldInsert ( genIUType const & Base, genIUType const & Insert, @@ -346,7 +346,7 @@ namespace glm } template - inline detail::tvec2 bitfieldInsert + GLM_FUNC_QUALIFIER detail::tvec2 bitfieldInsert ( detail::tvec2 const & Base, detail::tvec2 const & Insert, @@ -360,7 +360,7 @@ namespace glm } template - inline detail::tvec3 bitfieldInsert + GLM_FUNC_QUALIFIER detail::tvec3 bitfieldInsert ( detail::tvec3 const & Base, detail::tvec3 const & Insert, @@ -375,7 +375,7 @@ namespace glm } template - inline detail::tvec4 bitfieldInsert + GLM_FUNC_QUALIFIER detail::tvec4 bitfieldInsert ( detail::tvec4 const & Base, detail::tvec4 const & Insert, @@ -392,7 +392,7 @@ namespace glm // bitfieldReverse template - inline genIUType bitfieldReverse(genIUType const & Value) + GLM_FUNC_QUALIFIER genIUType bitfieldReverse(genIUType const & Value) { GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldReverse' only accept integer values"); @@ -404,7 +404,7 @@ namespace glm } template - inline detail::tvec2 bitfieldReverse + GLM_FUNC_QUALIFIER detail::tvec2 bitfieldReverse ( detail::tvec2 const & value ) @@ -415,7 +415,7 @@ namespace glm } template - inline detail::tvec3 bitfieldReverse + GLM_FUNC_QUALIFIER detail::tvec3 bitfieldReverse ( detail::tvec3 const & value ) @@ -427,7 +427,7 @@ namespace glm } template - inline detail::tvec4 bitfieldReverse + GLM_FUNC_QUALIFIER detail::tvec4 bitfieldReverse ( detail::tvec4 const & value ) @@ -455,7 +455,7 @@ namespace glm } template - inline detail::tvec2 bitCount + GLM_FUNC_QUALIFIER detail::tvec2 bitCount ( detail::tvec2 const & value ) @@ -466,7 +466,7 @@ namespace glm } template - inline detail::tvec3 bitCount + GLM_FUNC_QUALIFIER detail::tvec3 bitCount ( detail::tvec3 const & value ) @@ -478,7 +478,7 @@ namespace glm } template - inline detail::tvec4 bitCount + GLM_FUNC_QUALIFIER detail::tvec4 bitCount ( detail::tvec4 const & value ) @@ -492,7 +492,7 @@ namespace glm // findLSB template - inline int findLSB + GLM_FUNC_QUALIFIER int findLSB ( genIUType const & Value ) @@ -507,7 +507,7 @@ namespace glm } template - inline detail::tvec2 findLSB + GLM_FUNC_QUALIFIER detail::tvec2 findLSB ( detail::tvec2 const & value ) @@ -518,7 +518,7 @@ namespace glm } template - inline detail::tvec3 findLSB + GLM_FUNC_QUALIFIER detail::tvec3 findLSB ( detail::tvec3 const & value ) @@ -530,7 +530,7 @@ namespace glm } template - inline detail::tvec4 findLSB + GLM_FUNC_QUALIFIER detail::tvec4 findLSB ( detail::tvec4 const & value ) @@ -544,7 +544,7 @@ namespace glm // findMSB template - inline int findMSB + GLM_FUNC_QUALIFIER int findMSB ( genIUType const & Value ) @@ -559,7 +559,7 @@ namespace glm } template - inline detail::tvec2 findMSB + GLM_FUNC_QUALIFIER detail::tvec2 findMSB ( detail::tvec2 const & value ) @@ -570,7 +570,7 @@ namespace glm } template - inline detail::tvec3 findMSB + GLM_FUNC_QUALIFIER detail::tvec3 findMSB ( detail::tvec3 const & value ) @@ -582,7 +582,7 @@ namespace glm } template - inline detail::tvec4 findMSB + GLM_FUNC_QUALIFIER detail::tvec4 findMSB ( detail::tvec4 const & value ) diff --git a/glm/core/func_matrix.inl b/glm/core/func_matrix.inl index 7b7cc392..acf6a792 100644 --- a/glm/core/func_matrix.inl +++ b/glm/core/func_matrix.inl @@ -15,7 +15,7 @@ namespace glm // matrixCompMult template - inline matType matrixCompMult + GLM_FUNC_QUALIFIER matType matrixCompMult ( matType const & x, matType const & y @@ -31,7 +31,7 @@ namespace glm // outerProduct template - inline detail::tmat2x2 outerProduct + GLM_FUNC_QUALIFIER detail::tmat2x2 outerProduct ( detail::tvec2 const & c, detail::tvec2 const & r @@ -48,7 +48,7 @@ namespace glm } template - inline detail::tmat3x3 outerProduct + GLM_FUNC_QUALIFIER detail::tmat3x3 outerProduct ( detail::tvec3 const & c, detail::tvec3 const & r @@ -63,7 +63,7 @@ namespace glm } template - inline detail::tmat4x4 outerProduct + GLM_FUNC_QUALIFIER detail::tmat4x4 outerProduct ( detail::tvec4 const & c, detail::tvec4 const & r @@ -78,7 +78,7 @@ namespace glm } template - inline detail::tmat2x3 outerProduct + GLM_FUNC_QUALIFIER detail::tmat2x3 outerProduct ( detail::tvec3 const & c, detail::tvec2 const & r @@ -97,7 +97,7 @@ namespace glm } template - inline detail::tmat3x2 outerProduct + GLM_FUNC_QUALIFIER detail::tmat3x2 outerProduct ( detail::tvec2 const & c, detail::tvec3 const & r @@ -116,7 +116,7 @@ namespace glm } template - inline detail::tmat2x4 outerProduct + GLM_FUNC_QUALIFIER detail::tmat2x4 outerProduct ( detail::tvec2 const & c, detail::tvec4 const & r @@ -137,7 +137,7 @@ namespace glm } template - inline detail::tmat4x2 outerProduct + GLM_FUNC_QUALIFIER detail::tmat4x2 outerProduct ( detail::tvec4 const & c, detail::tvec2 const & r @@ -158,7 +158,7 @@ namespace glm } template - inline detail::tmat3x4 outerProduct + GLM_FUNC_QUALIFIER detail::tmat3x4 outerProduct ( detail::tvec4 const & c, detail::tvec3 const & r @@ -183,7 +183,7 @@ namespace glm } template - inline detail::tmat4x3 outerProduct + GLM_FUNC_QUALIFIER detail::tmat4x3 outerProduct ( detail::tvec3 const & c, detail::tvec4 const & r @@ -208,7 +208,7 @@ namespace glm } template - inline detail::tmat2x2 transpose + GLM_FUNC_QUALIFIER detail::tmat2x2 transpose ( detail::tmat2x2 const & m ) @@ -224,7 +224,7 @@ namespace glm } template - inline detail::tmat3x3 transpose + GLM_FUNC_QUALIFIER detail::tmat3x3 transpose ( detail::tmat3x3 const & m ) @@ -247,7 +247,7 @@ namespace glm } template - inline detail::tmat4x4 transpose + GLM_FUNC_QUALIFIER detail::tmat4x4 transpose ( detail::tmat4x4 const & m ) @@ -278,7 +278,7 @@ namespace glm } template - inline detail::tmat2x3 transpose + GLM_FUNC_QUALIFIER detail::tmat2x3 transpose ( detail::tmat3x2 const & m ) @@ -296,7 +296,7 @@ namespace glm } template - inline detail::tmat3x2 transpose + GLM_FUNC_QUALIFIER detail::tmat3x2 transpose ( detail::tmat2x3 const & m ) @@ -314,7 +314,7 @@ namespace glm } template - inline detail::tmat2x4 transpose + GLM_FUNC_QUALIFIER detail::tmat2x4 transpose ( detail::tmat4x2 const & m ) @@ -334,7 +334,7 @@ namespace glm } template - inline detail::tmat4x2 transpose + GLM_FUNC_QUALIFIER detail::tmat4x2 transpose ( detail::tmat2x4 const & m ) @@ -354,7 +354,7 @@ namespace glm } template - inline detail::tmat3x4 transpose + GLM_FUNC_QUALIFIER detail::tmat3x4 transpose ( detail::tmat4x3 const & m ) @@ -378,7 +378,7 @@ namespace glm } template - inline detail::tmat4x3 transpose + GLM_FUNC_QUALIFIER detail::tmat4x3 transpose ( detail::tmat3x4 const & m ) @@ -402,7 +402,7 @@ namespace glm } template - inline typename detail::tmat2x2::value_type determinant + GLM_FUNC_QUALIFIER typename detail::tmat2x2::value_type determinant ( detail::tmat2x2 const & m ) @@ -413,7 +413,7 @@ namespace glm } template - inline typename detail::tmat3x3::value_type determinant + GLM_FUNC_QUALIFIER typename detail::tmat3x3::value_type determinant ( detail::tmat3x3 const & m ) @@ -427,7 +427,7 @@ namespace glm } template - inline typename detail::tmat4x4::value_type determinant + GLM_FUNC_QUALIFIER typename detail::tmat4x4::value_type determinant ( detail::tmat4x4 const & m ) @@ -454,7 +454,7 @@ namespace glm } template - inline detail::tmat2x2 inverse + GLM_FUNC_QUALIFIER detail::tmat2x2 inverse ( detail::tmat2x2 const & m ) @@ -474,7 +474,7 @@ namespace glm } template - inline detail::tmat3x3 inverse + GLM_FUNC_QUALIFIER detail::tmat3x3 inverse ( detail::tmat3x3 const & m ) @@ -503,7 +503,7 @@ namespace glm } template - inline detail::tmat4x4 inverse + GLM_FUNC_QUALIFIER detail::tmat4x4 inverse ( detail::tmat4x4 const & m ) diff --git a/glm/core/func_noise.inl b/glm/core/func_noise.inl index c780534e..5706a515 100644 --- a/glm/core/func_noise.inl +++ b/glm/core/func_noise.inl @@ -15,7 +15,7 @@ namespace glm // noise1 template - inline genType noise1 + GLM_FUNC_QUALIFIER genType noise1 ( genType const & x ) @@ -27,7 +27,7 @@ namespace glm } template - inline typename detail::tvec2::value_type noise1 + GLM_FUNC_QUALIFIER typename detail::tvec2::value_type noise1 ( detail::tvec2 const & x ) @@ -39,7 +39,7 @@ namespace glm } template - inline typename detail::tvec3::value_type noise1 + GLM_FUNC_QUALIFIER typename detail::tvec3::value_type noise1 ( detail::tvec3 const & x ) @@ -51,7 +51,7 @@ namespace glm } template - inline typename detail::tvec4::value_type noise1 + GLM_FUNC_QUALIFIER typename detail::tvec4::value_type noise1 ( detail::tvec4 const & x ) @@ -64,7 +64,7 @@ namespace glm // noise2 template - inline detail::tvec2 noise2 + GLM_FUNC_QUALIFIER detail::tvec2 noise2 ( genType const & x ) @@ -79,7 +79,7 @@ namespace glm } template - inline detail::tvec2 noise2 + GLM_FUNC_QUALIFIER detail::tvec2 noise2 ( detail::tvec2 const & x ) @@ -98,7 +98,7 @@ namespace glm } template - inline detail::tvec2 noise2 + GLM_FUNC_QUALIFIER detail::tvec2 noise2 ( detail::tvec3 const & x ) @@ -117,7 +117,7 @@ namespace glm } template - inline detail::tvec2 noise2 + GLM_FUNC_QUALIFIER detail::tvec2 noise2 ( detail::tvec4 const & x ) @@ -137,7 +137,7 @@ namespace glm // noise3 template - inline detail::tvec3 noise3 + GLM_FUNC_QUALIFIER detail::tvec3 noise3 ( genType const & x ) @@ -154,7 +154,7 @@ namespace glm } template - inline detail::tvec3 noise3 + GLM_FUNC_QUALIFIER detail::tvec3 noise3 ( detail::tvec2 const & x ) @@ -174,7 +174,7 @@ namespace glm } template - inline detail::tvec3 noise3 + GLM_FUNC_QUALIFIER detail::tvec3 noise3 ( detail::tvec3 const & x ) @@ -194,7 +194,7 @@ namespace glm } template - inline detail::tvec3 noise3 + GLM_FUNC_QUALIFIER detail::tvec3 noise3 ( detail::tvec4 const & x ) @@ -215,7 +215,7 @@ namespace glm // noise4 template - inline detail::tvec4 noise4 + GLM_FUNC_QUALIFIER detail::tvec4 noise4 ( genType const & x ) @@ -234,7 +234,7 @@ namespace glm } template - inline detail::tvec4 noise4 + GLM_FUNC_QUALIFIER detail::tvec4 noise4 ( detail::tvec2 const & x ) @@ -256,7 +256,7 @@ namespace glm } template - inline detail::tvec4 noise4 + GLM_FUNC_QUALIFIER detail::tvec4 noise4 ( detail::tvec3 const & x ) @@ -278,7 +278,7 @@ namespace glm } template - inline detail::tvec4 noise4 + GLM_FUNC_QUALIFIER detail::tvec4 noise4 ( detail::tvec4 const & x ) diff --git a/glm/core/func_packing.inl b/glm/core/func_packing.inl index 96317284..672e67bf 100644 --- a/glm/core/func_packing.inl +++ b/glm/core/func_packing.inl @@ -18,14 +18,14 @@ namespace glm namespace function{ namespace packing { - inline detail::uint32 packUnorm2x16(detail::tvec2 const & v) + GLM_FUNC_QUALIFIER detail::uint32 packUnorm2x16(detail::tvec2 const & v) { detail::uint16 A((detail::uint16)round(clamp(v.x, 0.0f, 1.0f) * 65535.0f)); detail::uint16 B((detail::uint16)round(clamp(v.y, 0.0f, 1.0f) * 65535.0f)); return detail::uint32((B << 16) | A); } - inline detail::uint32 packUnorm4x8(detail::tvec4 const & v) + GLM_FUNC_QUALIFIER detail::uint32 packUnorm4x8(detail::tvec4 const & v) { detail::uint8 A((detail::uint8)round(clamp(v.x, 0.0f, 1.0f) * 255.0f)); detail::uint8 B((detail::uint8)round(clamp(v.y, 0.0f, 1.0f) * 255.0f)); @@ -34,7 +34,7 @@ namespace glm return detail::uint32((D << 24) | (C << 16) | (B << 8) | A); } - inline detail::uint32 packSnorm4x8(detail::tvec4 const & v) + GLM_FUNC_QUALIFIER detail::uint32 packSnorm4x8(detail::tvec4 const & v) { detail::uint8 A((detail::uint8)round(clamp(v.x,-1.0f, 1.0f) * 255.0f)); detail::uint8 B((detail::uint8)round(clamp(v.y,-1.0f, 1.0f) * 255.0f)); @@ -43,7 +43,7 @@ namespace glm return detail::uint32((D << 24) | (C << 16) | (B << 8) | A); } - inline detail::tvec2 unpackUnorm2x16(detail::uint32 const & p) + GLM_FUNC_QUALIFIER detail::tvec2 unpackUnorm2x16(detail::uint32 const & p) { detail::uint16 A(detail::uint16(p >> 0)); detail::uint16 B(detail::uint16(p >> 16)); @@ -52,7 +52,7 @@ namespace glm B * 1.0f / 65535.0f); } - inline detail::tvec4 unpackUnorm4x8(detail::uint32 const & p) + GLM_FUNC_QUALIFIER detail::tvec4 unpackUnorm4x8(detail::uint32 const & p) { detail::uint8 A(detail::uint8(p >> 0)); detail::uint8 B(detail::uint8(p >> 8)); @@ -65,7 +65,7 @@ namespace glm D * 1.0f / 255.0f); } - inline detail::tvec4 unpackSnorm4x8(detail::uint32 const & p) + GLM_FUNC_QUALIFIER detail::tvec4 unpackSnorm4x8(detail::uint32 const & p) { detail::uint8 A(detail::uint8(p >> 0)); detail::uint8 B(detail::uint8(p >> 8)); @@ -78,12 +78,12 @@ namespace glm D * 1.0f / 127.0f), -1.0f, 1.0f); } - inline double packDouble2x32(detail::tvec2 const & v) + GLM_FUNC_QUALIFIER double packDouble2x32(detail::tvec2 const & v) { return *(double*)&v; } - inline detail::tvec2 unpackDouble2x32(double const & v) + GLM_FUNC_QUALIFIER detail::tvec2 unpackDouble2x32(double const & v) { return *(detail::tvec2*)&v; } diff --git a/glm/core/func_trigonometric.inl b/glm/core/func_trigonometric.inl index bbb67545..05846014 100644 --- a/glm/core/func_trigonometric.inl +++ b/glm/core/func_trigonometric.inl @@ -15,7 +15,7 @@ namespace glm // radians template - inline genType radians + GLM_FUNC_QUALIFIER genType radians ( genType const & degrees ) @@ -27,7 +27,7 @@ namespace glm } template - inline detail::tvec2 radians + GLM_FUNC_QUALIFIER detail::tvec2 radians ( detail::tvec2 const & degrees ) @@ -38,7 +38,7 @@ namespace glm } template - inline detail::tvec3 radians + GLM_FUNC_QUALIFIER detail::tvec3 radians ( detail::tvec3 const & degrees ) @@ -50,7 +50,7 @@ namespace glm } template - inline detail::tvec4 radians + GLM_FUNC_QUALIFIER detail::tvec4 radians ( detail::tvec4 const & degrees ) @@ -64,7 +64,7 @@ namespace glm // degrees template - inline genType degrees + GLM_FUNC_QUALIFIER genType degrees ( genType const & radians ) @@ -76,7 +76,7 @@ namespace glm } template - inline detail::tvec2 degrees + GLM_FUNC_QUALIFIER detail::tvec2 degrees ( detail::tvec2 const & radians ) @@ -87,7 +87,7 @@ namespace glm } template - inline detail::tvec3 degrees + GLM_FUNC_QUALIFIER detail::tvec3 degrees ( detail::tvec3 const & radians ) @@ -99,7 +99,7 @@ namespace glm } template - inline detail::tvec4 degrees + GLM_FUNC_QUALIFIER detail::tvec4 degrees ( detail::tvec4 const & radians ) @@ -113,7 +113,7 @@ namespace glm // sin template - inline genType sin + GLM_FUNC_QUALIFIER genType sin ( genType const & angle ) @@ -124,7 +124,7 @@ namespace glm } template - inline detail::tvec2 sin + GLM_FUNC_QUALIFIER detail::tvec2 sin ( detail::tvec2 const & angle ) @@ -135,7 +135,7 @@ namespace glm } template - inline detail::tvec3 sin + GLM_FUNC_QUALIFIER detail::tvec3 sin ( detail::tvec3 const & angle ) @@ -147,7 +147,7 @@ namespace glm } template - inline detail::tvec4 sin + GLM_FUNC_QUALIFIER detail::tvec4 sin ( detail::tvec4 const & angle ) @@ -161,7 +161,7 @@ namespace glm // cos template - inline genType cos(genType const & angle) + GLM_FUNC_QUALIFIER genType cos(genType const & angle) { GLM_STATIC_ASSERT(detail::type::is_float, "'cos' only accept floating-point input"); @@ -169,7 +169,7 @@ namespace glm } template - inline detail::tvec2 cos + GLM_FUNC_QUALIFIER detail::tvec2 cos ( detail::tvec2 const & angle ) @@ -180,7 +180,7 @@ namespace glm } template - inline detail::tvec3 cos + GLM_FUNC_QUALIFIER detail::tvec3 cos ( detail::tvec3 const & angle ) @@ -192,7 +192,7 @@ namespace glm } template - inline detail::tvec4 cos + GLM_FUNC_QUALIFIER detail::tvec4 cos ( detail::tvec4 const & angle ) @@ -206,7 +206,7 @@ namespace glm // tan template - inline genType tan + GLM_FUNC_QUALIFIER genType tan ( genType const & angle ) @@ -217,7 +217,7 @@ namespace glm } template - inline detail::tvec2 tan + GLM_FUNC_QUALIFIER detail::tvec2 tan ( detail::tvec2 const & angle ) @@ -228,7 +228,7 @@ namespace glm } template - inline detail::tvec3 tan + GLM_FUNC_QUALIFIER detail::tvec3 tan ( detail::tvec3 const & angle ) @@ -240,7 +240,7 @@ namespace glm } template - inline detail::tvec4 tan + GLM_FUNC_QUALIFIER detail::tvec4 tan ( detail::tvec4 const & angle ) @@ -254,7 +254,7 @@ namespace glm // asin template - inline genType asin + GLM_FUNC_QUALIFIER genType asin ( genType const & x ) @@ -265,7 +265,7 @@ namespace glm } template - inline detail::tvec2 asin + GLM_FUNC_QUALIFIER detail::tvec2 asin ( detail::tvec2 const & x ) @@ -276,7 +276,7 @@ namespace glm } template - inline detail::tvec3 asin + GLM_FUNC_QUALIFIER detail::tvec3 asin ( detail::tvec3 const & x ) @@ -288,7 +288,7 @@ namespace glm } template - inline detail::tvec4 asin + GLM_FUNC_QUALIFIER detail::tvec4 asin ( detail::tvec4 const & x ) @@ -302,7 +302,7 @@ namespace glm // acos template - inline genType acos + GLM_FUNC_QUALIFIER genType acos ( genType const & x ) @@ -313,7 +313,7 @@ namespace glm } template - inline detail::tvec2 acos + GLM_FUNC_QUALIFIER detail::tvec2 acos ( detail::tvec2 const & x ) @@ -324,7 +324,7 @@ namespace glm } template - inline detail::tvec3 acos + GLM_FUNC_QUALIFIER detail::tvec3 acos ( detail::tvec3 const & x ) @@ -336,7 +336,7 @@ namespace glm } template - inline detail::tvec4 acos + GLM_FUNC_QUALIFIER detail::tvec4 acos ( detail::tvec4 const & x ) @@ -350,7 +350,7 @@ namespace glm // atan template - inline genType atan + GLM_FUNC_QUALIFIER genType atan ( genType const & y, genType const & x @@ -362,7 +362,7 @@ namespace glm } template - inline detail::tvec2 atan + GLM_FUNC_QUALIFIER detail::tvec2 atan ( detail::tvec2 const & y, detail::tvec2 const & x @@ -374,7 +374,7 @@ namespace glm } template - inline detail::tvec3 atan + GLM_FUNC_QUALIFIER detail::tvec3 atan ( detail::tvec3 const & y, detail::tvec3 const & x @@ -387,7 +387,7 @@ namespace glm } template - inline detail::tvec4 atan + GLM_FUNC_QUALIFIER detail::tvec4 atan ( detail::tvec4 const & y, detail::tvec4 const & x @@ -401,7 +401,7 @@ namespace glm } template - inline genType atan + GLM_FUNC_QUALIFIER genType atan ( genType const & x ) @@ -412,7 +412,7 @@ namespace glm } template - inline detail::tvec2 atan + GLM_FUNC_QUALIFIER detail::tvec2 atan ( detail::tvec2 const & x ) @@ -423,7 +423,7 @@ namespace glm } template - inline detail::tvec3 atan + GLM_FUNC_QUALIFIER detail::tvec3 atan ( detail::tvec3 const & x ) @@ -435,7 +435,7 @@ namespace glm } template - inline detail::tvec4 atan + GLM_FUNC_QUALIFIER detail::tvec4 atan ( detail::tvec4 const & x ) @@ -449,7 +449,7 @@ namespace glm // sinh template - inline genType sinh + GLM_FUNC_QUALIFIER genType sinh ( genType const & angle ) @@ -460,7 +460,7 @@ namespace glm } template - inline detail::tvec2 sinh + GLM_FUNC_QUALIFIER detail::tvec2 sinh ( detail::tvec2 const & angle ) @@ -471,7 +471,7 @@ namespace glm } template - inline detail::tvec3 sinh + GLM_FUNC_QUALIFIER detail::tvec3 sinh ( detail::tvec3 const & angle ) @@ -483,7 +483,7 @@ namespace glm } template - inline detail::tvec4 sinh + GLM_FUNC_QUALIFIER detail::tvec4 sinh ( detail::tvec4 const & angle ) @@ -497,7 +497,7 @@ namespace glm // cosh template - inline genType cosh + GLM_FUNC_QUALIFIER genType cosh ( genType const & angle ) @@ -508,7 +508,7 @@ namespace glm } template - inline detail::tvec2 cosh + GLM_FUNC_QUALIFIER detail::tvec2 cosh ( detail::tvec2 const & angle ) @@ -519,7 +519,7 @@ namespace glm } template - inline detail::tvec3 cosh + GLM_FUNC_QUALIFIER detail::tvec3 cosh ( detail::tvec3 const & angle ) @@ -531,7 +531,7 @@ namespace glm } template - inline detail::tvec4 cosh + GLM_FUNC_QUALIFIER detail::tvec4 cosh ( detail::tvec4 const & angle ) @@ -545,7 +545,7 @@ namespace glm // tanh template - inline genType tanh + GLM_FUNC_QUALIFIER genType tanh ( genType const & angle ) @@ -556,7 +556,7 @@ namespace glm } template - inline detail::tvec2 tanh + GLM_FUNC_QUALIFIER detail::tvec2 tanh ( detail::tvec2 const & angle ) @@ -567,7 +567,7 @@ namespace glm } template - inline detail::tvec3 tanh + GLM_FUNC_QUALIFIER detail::tvec3 tanh ( detail::tvec3 const & angle ) @@ -579,7 +579,7 @@ namespace glm } template - inline detail::tvec4 tanh + GLM_FUNC_QUALIFIER detail::tvec4 tanh ( detail::tvec4 const & angle ) @@ -593,7 +593,7 @@ namespace glm // asinh template - inline genType asinh + GLM_FUNC_QUALIFIER genType asinh ( genType const & x ) @@ -604,7 +604,7 @@ namespace glm } template - inline detail::tvec2 asinh + GLM_FUNC_QUALIFIER detail::tvec2 asinh ( detail::tvec2 const & x ) @@ -615,7 +615,7 @@ namespace glm } template - inline detail::tvec3 asinh + GLM_FUNC_QUALIFIER detail::tvec3 asinh ( detail::tvec3 const & x ) @@ -627,7 +627,7 @@ namespace glm } template - inline detail::tvec4 asinh + GLM_FUNC_QUALIFIER detail::tvec4 asinh ( detail::tvec4 const & x ) @@ -641,7 +641,7 @@ namespace glm // acosh template - inline genType acosh + GLM_FUNC_QUALIFIER genType acosh ( genType const & x ) @@ -654,7 +654,7 @@ namespace glm } template - inline detail::tvec2 acosh + GLM_FUNC_QUALIFIER detail::tvec2 acosh ( detail::tvec2 const & x ) @@ -665,7 +665,7 @@ namespace glm } template - inline detail::tvec3 acosh + GLM_FUNC_QUALIFIER detail::tvec3 acosh ( detail::tvec3 const & x ) @@ -677,7 +677,7 @@ namespace glm } template - inline detail::tvec4 acosh + GLM_FUNC_QUALIFIER detail::tvec4 acosh ( detail::tvec4 const & x ) @@ -691,7 +691,7 @@ namespace glm // atanh template - inline genType atanh + GLM_FUNC_QUALIFIER genType atanh ( genType const & x ) @@ -704,7 +704,7 @@ namespace glm } template - inline detail::tvec2 atanh + GLM_FUNC_QUALIFIER detail::tvec2 atanh ( detail::tvec2 const & x ) @@ -715,7 +715,7 @@ namespace glm } template - inline detail::tvec3 atanh + GLM_FUNC_QUALIFIER detail::tvec3 atanh ( detail::tvec3 const & x ) @@ -727,7 +727,7 @@ namespace glm } template - inline detail::tvec4 atanh + GLM_FUNC_QUALIFIER detail::tvec4 atanh ( detail::tvec4 const & x ) diff --git a/glm/core/func_vector_relational.hpp b/glm/core/func_vector_relational.hpp index 2f899e66..d290defd 100644 --- a/glm/core/func_vector_relational.hpp +++ b/glm/core/func_vector_relational.hpp @@ -32,7 +32,7 @@ namespace glm //! \li GLSL lessThan man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type lessThan + GLM_FUNC_QUALIFIER typename vecType::bool_type lessThan ( vecType const & x, vecType const & y @@ -55,7 +55,7 @@ namespace glm //! \li GLSL lessThanEqual man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type lessThanEqual + GLM_FUNC_QUALIFIER typename vecType::bool_type lessThanEqual ( vecType const & x, vecType const & y @@ -77,7 +77,7 @@ namespace glm //! \li GLSL greaterThan man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type greaterThan + GLM_FUNC_QUALIFIER typename vecType::bool_type greaterThan ( vecType const & x, vecType const & y @@ -99,7 +99,7 @@ namespace glm //! \li GLSL greaterThanEqual man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type greaterThanEqual + GLM_FUNC_QUALIFIER typename vecType::bool_type greaterThanEqual ( vecType const & x, vecType const & y @@ -121,7 +121,7 @@ namespace glm //! \li GLSL equal man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type equal + GLM_FUNC_QUALIFIER typename vecType::bool_type equal ( vecType const & x, vecType const & y @@ -141,7 +141,7 @@ namespace glm //! \li GLSL notEqual man page //! \li GLSL 1.30.08 specification, section 8.6 template class vecType> - inline typename vecType::bool_type notEqual + GLM_FUNC_QUALIFIER typename vecType::bool_type notEqual ( vecType const & x, vecType const & y @@ -161,7 +161,7 @@ namespace glm //! \li GLSL any man page //! \li GLSL 1.30.08 specification, section 8.6 template