/// @ref ext_vector_relational /// @file glm/ext/vector_relational.inl // Dependency: #include "../ext/vector_relational.hpp" #include "../common.hpp" namespace glm { template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b) { return equal(a, b, static_cast(0)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, T Epsilon) { return equal(a, b, vec(Epsilon)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, vec const& Epsilon) { vec Result(true); for(length_t i = 0; i < C; ++i) Result[i] = all(equal(a[i], b[i], Epsilon[i])); return Result; } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y) { return notEqual(x, y, static_cast(0)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, T Epsilon) { return notEqual(x, y, vec(Epsilon)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& a, mat const& b, vec const& Epsilon) { vec Result(true); for(length_t i = 0; i < C; ++i) Result[i] = any(notEqual(a[i], b[i], Epsilon[i])); return Result; } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, int MaxULPs) { return equal(a, b, vec(MaxULPs)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, vec const& MaxULPs) { vec Result(true); for(length_t i = 0; i < C; ++i) Result[i] = all(equal(a[i], b[i], MaxULPs[i])); return Result; } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, int MaxULPs) { return notEqual(x, y, vec(MaxULPs)); } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& a, mat const& b, vec const& MaxULPs) { vec Result(true); for(length_t i = 0; i < C; ++i) Result[i] = any(notEqual(a[i], b[i], MaxULPs[i])); return Result; } }//namespace glm