diff --git a/glm/gtx/pca.hpp b/glm/gtx/pca.hpp index 1a83fdad..d89c408e 100644 --- a/glm/gtx/pca.hpp +++ b/glm/gtx/pca.hpp @@ -97,17 +97,17 @@ namespace glm { /// Sorts a group of Eigenvalues&Eigenvectors, for largest Eigenvalue to smallest Eigenvalue. /// The data in `outEigenvalues` and `outEigenvectors` are assumed to be matching order, i.e. `outEigenvector[i]` is the Eigenvector of the Eigenvalue `outEigenvalue[i]`. template - GLM_INLINE void sortEigenvalues(vec<2, T, Q>& eigenvalues, mat<2, 2, T, Q>& eigenvectors); + GLM_FUNC_DECL void sortEigenvalues(vec<2, T, Q>& eigenvalues, mat<2, 2, T, Q>& eigenvectors); /// Sorts a group of Eigenvalues&Eigenvectors, for largest Eigenvalue to smallest Eigenvalue. /// The data in `outEigenvalues` and `outEigenvectors` are assumed to be matching order, i.e. `outEigenvector[i]` is the Eigenvector of the Eigenvalue `outEigenvalue[i]`. template - GLM_INLINE void sortEigenvalues(vec<3, T, Q>& eigenvalues, mat<3, 3, T, Q>& eigenvectors); + GLM_FUNC_DECL void sortEigenvalues(vec<3, T, Q>& eigenvalues, mat<3, 3, T, Q>& eigenvectors); /// Sorts a group of Eigenvalues&Eigenvectors, for largest Eigenvalue to smallest Eigenvalue. /// The data in `outEigenvalues` and `outEigenvectors` are assumed to be matching order, i.e. `outEigenvector[i]` is the Eigenvector of the Eigenvalue `outEigenvalue[i]`. template - GLM_INLINE void sortEigenvalues(vec<4, T, Q>& eigenvalues, mat<4, 4, T, Q>& eigenvectors); + GLM_FUNC_DECL void sortEigenvalues(vec<4, T, Q>& eigenvalues, mat<4, 4, T, Q>& eigenvectors); /// @} }//namespace glm diff --git a/glm/gtx/pca.inl b/glm/gtx/pca.inl index d5a24b78..94cae946 100644 --- a/glm/gtx/pca.inl +++ b/glm/gtx/pca.inl @@ -10,21 +10,21 @@ namespace glm { template - GLM_INLINE mat computeCovarianceMatrix(vec const* v, size_t n) + GLM_FUNC_QUALIFIER mat computeCovarianceMatrix(vec const* v, size_t n) { return computeCovarianceMatrix const*>(v, v + n); } template - GLM_INLINE mat computeCovarianceMatrix(vec const* v, size_t n, vec const& c) + GLM_FUNC_QUALIFIER mat computeCovarianceMatrix(vec const* v, size_t n, vec const& c) { return computeCovarianceMatrix const*>(v, v + n, c); } template - GLM_FUNC_DECL mat computeCovarianceMatrix(I const& b, I const& e) + GLM_FUNC_QUALIFIER mat computeCovarianceMatrix(I const& b, I const& e) { glm::mat m(0); @@ -45,7 +45,7 @@ namespace glm { template - GLM_FUNC_DECL mat computeCovarianceMatrix(I const& b, I const& e, vec const& c) + GLM_FUNC_QUALIFIER mat computeCovarianceMatrix(I const& b, I const& e, vec const& c) { glm::mat m(0); glm::vec v; @@ -69,13 +69,13 @@ namespace glm { { template - GLM_INLINE T transferSign(T const& v, T const& s) + GLM_FUNC_QUALIFIER static T transferSign(T const& v, T const& s) { return ((s) >= 0 ? glm::abs(v) : -glm::abs(v)); } template - GLM_INLINE T pythag(T const& a, T const& b) { + GLM_FUNC_QUALIFIER static T pythag(T const& a, T const& b) { static const T epsilon = static_cast(0.0000001); T absa = glm::abs(a); T absb = glm::abs(b); @@ -93,7 +93,7 @@ namespace glm { } template - GLM_FUNC_DECL unsigned int findEigenvaluesSymReal + GLM_FUNC_QUALIFIER unsigned int findEigenvaluesSymReal ( mat const& covarMat, vec& outEigenvalues, @@ -281,7 +281,7 @@ namespace glm { } template - GLM_INLINE void sortEigenvalues(vec<2, T, Q>& eigenvalues, mat<2, 2, T, Q>& eigenvectors) + GLM_FUNC_QUALIFIER void sortEigenvalues(vec<2, T, Q>& eigenvalues, mat<2, 2, T, Q>& eigenvectors) { if (eigenvalues[0] < eigenvalues[1]) { @@ -291,7 +291,7 @@ namespace glm { } template - GLM_INLINE void sortEigenvalues(vec<3, T, Q>& eigenvalues, mat<3, 3, T, Q>& eigenvectors) + GLM_FUNC_QUALIFIER void sortEigenvalues(vec<3, T, Q>& eigenvalues, mat<3, 3, T, Q>& eigenvectors) { if (eigenvalues[0] < eigenvalues[1]) { @@ -311,7 +311,7 @@ namespace glm { } template - GLM_INLINE void sortEigenvalues(vec<4, T, Q>& eigenvalues, mat<4, 4, T, Q>& eigenvectors) + GLM_FUNC_QUALIFIER void sortEigenvalues(vec<4, T, Q>& eigenvalues, mat<4, 4, T, Q>& eigenvectors) { if (eigenvalues[0] < eigenvalues[2]) { diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp index 481cab00..259cd40b 100644 --- a/glm/gtx/quaternion.hpp +++ b/glm/gtx/quaternion.hpp @@ -110,28 +110,28 @@ namespace glm /// /// @see gtx_quaternion template - GLM_FUNC_DECL mat<3, 3, T, Q> toMat3( + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> toMat3( qua const& x){return mat3_cast(x);} /// Converts a quaternion to a 4 * 4 matrix. /// /// @see gtx_quaternion template - GLM_FUNC_DECL mat<4, 4, T, Q> toMat4( + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> toMat4( qua const& x){return mat4_cast(x);} /// Converts a 3 * 3 matrix to a quaternion. /// /// @see gtx_quaternion template - GLM_FUNC_DECL qua toQuat( + GLM_FUNC_QUALIFIER qua toQuat( mat<3, 3, T, Q> const& x){return quat_cast(x);} /// Converts a 4 * 4 matrix to a quaternion. /// /// @see gtx_quaternion template - GLM_FUNC_DECL qua toQuat( + GLM_FUNC_QUALIFIER qua toQuat( mat<4, 4, T, Q> const& x){return quat_cast(x);} /// Quaternion interpolation using the rotation short path.