summaryrefslogtreecommitdiff
path: root/asl/base/float_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/base/float_tests.cpp')
-rw-r--r--asl/base/float_tests.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/asl/base/float_tests.cpp b/asl/base/float_tests.cpp
new file mode 100644
index 0000000..0a5bebf
--- /dev/null
+++ b/asl/base/float_tests.cpp
@@ -0,0 +1,23 @@
+#include "asl/base/float.hpp"
+
+#include "asl/testing/testing.hpp"
+
+ASL_TEST(is_infinity)
+{
+ ASL_TEST_EXPECT(!asl::is_infinity(0.0F));
+ ASL_TEST_EXPECT(!asl::is_infinity(-25.0F));
+ ASL_TEST_EXPECT(asl::is_infinity(45.0F / 0.0F));
+ ASL_TEST_EXPECT(asl::is_infinity(-45.0F / 0.0F));
+ ASL_TEST_EXPECT(asl::is_infinity(asl::infinity<float>()));
+ ASL_TEST_EXPECT(asl::is_infinity(-asl::infinity<double>()));
+}
+
+ASL_TEST(is_nan)
+{
+ ASL_TEST_EXPECT(!asl::is_nan(0.0F));
+ ASL_TEST_EXPECT(!asl::is_nan(-25.0F));
+ ASL_TEST_EXPECT(!asl::is_nan(45.0F / 0.0F));
+ ASL_TEST_EXPECT(asl::is_nan(asl::nan<float>()));
+ ASL_TEST_EXPECT(asl::is_nan(asl::nan<double>()));
+}
+