summaryrefslogtreecommitdiffstats
path: root/Project/glm/ext/matrix_relational.inl
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2020-07-08 12:05:44 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2020-07-08 12:05:44 -0300
commitcc2e40324d884bc0417809980a696a5084e661d7 (patch)
tree9620dfa32e44af5c125aac2c9bce36011ad27b8b /Project/glm/ext/matrix_relational.inl
parentae765504642759ba4addbf91d62f167ba5f063a3 (diff)
downloadPSP.git-cc2e40324d884bc0417809980a696a5084e661d7.tar.gz
PSP.git-cc2e40324d884bc0417809980a696a5084e661d7.tar.xz
PSP.git-cc2e40324d884bc0417809980a696a5084e661d7.zip
GLM folder changed
Diffstat (limited to 'Project/glm/ext/matrix_relational.inl')
-rw-r--r--Project/glm/ext/matrix_relational.inl82
1 files changed, 82 insertions, 0 deletions
diff --git a/Project/glm/ext/matrix_relational.inl b/Project/glm/ext/matrix_relational.inl
new file mode 100644
index 0000000..b2b8753
--- /dev/null
+++ b/Project/glm/ext/matrix_relational.inl
@@ -0,0 +1,82 @@
+/// @ref ext_vector_relational
+/// @file glm/ext/vector_relational.inl
+
+// Dependency:
+#include "../ext/vector_relational.hpp"
+#include "../common.hpp"
+
+namespace glm
+{
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b)
+ {
+ return equal(a, b, static_cast<T>(0));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, T Epsilon)
+ {
+ return equal(a, b, vec<C, T, Q>(Epsilon));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, vec<C, T, Q> const& Epsilon)
+ {
+ vec<C, bool, Q> Result(true);
+ for(length_t i = 0; i < C; ++i)
+ Result[i] = all(equal(a[i], b[i], Epsilon[i]));
+ return Result;
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y)
+ {
+ return notEqual(x, y, static_cast<T>(0));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, T Epsilon)
+ {
+ return notEqual(x, y, vec<C, T, Q>(Epsilon));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, vec<C, T, Q> const& Epsilon)
+ {
+ vec<C, bool, Q> Result(true);
+ for(length_t i = 0; i < C; ++i)
+ Result[i] = any(notEqual(a[i], b[i], Epsilon[i]));
+ return Result;
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, int MaxULPs)
+ {
+ return equal(a, b, vec<C, int, Q>(MaxULPs));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, vec<C, int, Q> const& MaxULPs)
+ {
+ vec<C, bool, Q> Result(true);
+ for(length_t i = 0; i < C; ++i)
+ Result[i] = all(equal(a[i], b[i], MaxULPs[i]));
+ return Result;
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, int MaxULPs)
+ {
+ return notEqual(x, y, vec<C, int, Q>(MaxULPs));
+ }
+
+ template<length_t C, length_t R, typename T, qualifier Q>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& a, mat<C, R, T, Q> const& b, vec<C, int, Q> const& MaxULPs)
+ {
+ vec<C, bool, Q> Result(true);
+ for(length_t i = 0; i < C; ++i)
+ Result[i] = any(notEqual(a[i], b[i], MaxULPs[i]));
+ return Result;
+ }
+
+}//namespace glm