aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/glm/ext/scalar_relational.inl
diff options
context:
space:
mode:
authorJoursoir <chat@joursoir.net>2021-04-10 17:29:02 +0000
committerJoursoir <chat@joursoir.net>2021-04-10 17:29:02 +0000
commita8b3118e8305fd1c668ea25e07157b625c9747ff (patch)
tree69aeec3c40e123443675da381774ef656a2c86e0 /src/include/glm/ext/scalar_relational.inl
parent887314d01046ed2c00db3eb7b4b227f070501aa1 (diff)
downloadspace-simulator-a8b3118e8305fd1c668ea25e07157b625c9747ff.tar.gz
space-simulator-a8b3118e8305fd1c668ea25e07157b625c9747ff.tar.bz2
space-simulator-a8b3118e8305fd1c668ea25e07157b625c9747ff.zip
add glm headers
Diffstat (limited to 'src/include/glm/ext/scalar_relational.inl')
-rw-r--r--src/include/glm/ext/scalar_relational.inl40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/include/glm/ext/scalar_relational.inl b/src/include/glm/ext/scalar_relational.inl
new file mode 100644
index 0000000..69157ca
--- /dev/null
+++ b/src/include/glm/ext/scalar_relational.inl
@@ -0,0 +1,40 @@
+#include "../common.hpp"
+#include "../ext/scalar_int_sized.hpp"
+#include "../ext/scalar_uint_sized.hpp"
+#include "../detail/type_float.hpp"
+
+namespace glm
+{
+ template<typename genType>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal(genType const& x, genType const& y, genType const& epsilon)
+ {
+ return abs(x - y) <= epsilon;
+ }
+
+ template<typename genType>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, genType const& epsilon)
+ {
+ return abs(x - y) > epsilon;
+ }
+
+ template<typename genType>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal(genType const& x, genType const& y, int MaxULPs)
+ {
+ detail::float_t<genType> const a(x);
+ detail::float_t<genType> const b(y);
+
+ // Different signs means they do not match.
+ if(a.negative() != b.negative())
+ return false;
+
+ // Find the difference in ULPs.
+ typename detail::float_t<genType>::int_type const DiffULPs = abs(a.i - b.i);
+ return DiffULPs <= MaxULPs;
+ }
+
+ template<typename genType>
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, int ULPs)
+ {
+ return !equal(x, y, ULPs);
+ }
+}//namespace glm