aboutsummaryrefslogtreecommitdiff
path: root/Client/ThirdParty/libfixmath/tests/tests_macros.c
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-30 22:25:37 +0800
committerchai <chaifix@163.com>2021-11-30 22:25:37 +0800
commit9e0e01b7f4375063f06e494113187d48614628e0 (patch)
tree21a4901612ad92c121f4c887a33b1bbbe87c6b00 /Client/ThirdParty/libfixmath/tests/tests_macros.c
+init
Diffstat (limited to 'Client/ThirdParty/libfixmath/tests/tests_macros.c')
-rw-r--r--Client/ThirdParty/libfixmath/tests/tests_macros.c100
1 files changed, 100 insertions, 0 deletions
diff --git a/Client/ThirdParty/libfixmath/tests/tests_macros.c b/Client/ThirdParty/libfixmath/tests/tests_macros.c
new file mode 100644
index 0000000..bb80c79
--- /dev/null
+++ b/Client/ThirdParty/libfixmath/tests/tests_macros.c
@@ -0,0 +1,100 @@
+#include "tests_macros.h"
+#include "tests.h"
+
+#define DO_TEST(i, m) \
+ do \
+ { \
+ ASSERT_EQ_INT(F16(i##.##m), F16C(i, m)); \
+ ASSERT_EQ_INT(F16(i##.##m), fix16_from_dbl(i##.##m)); \
+ } while (0)
+
+int test_macros()
+{
+ DO_TEST(1, 234);
+ DO_TEST(0, 0);
+ DO_TEST(1, 0);
+ DO_TEST(-1, 0);
+ DO_TEST(1, 5);
+ DO_TEST(-1, 5);
+ DO_TEST(000000, 00000);
+ DO_TEST(0, 00001);
+ DO_TEST(0, 00010);
+ DO_TEST(0, 1);
+ DO_TEST(0, 10001);
+ DO_TEST(0, 11000);
+ DO_TEST(25, 133);
+ DO_TEST(32767, 00000);
+ DO_TEST(32767, 00001);
+ DO_TEST(32767, 99999);
+ DO_TEST(0, 25);
+ DO_TEST(0, 99555);
+ DO_TEST(0, 99998);
+ DO_TEST(0, 99999);
+ DO_TEST(-1, 1);
+ DO_TEST(-25, 133);
+ DO_TEST(-32767, 00001);
+ DO_TEST(-32768, 00000);
+
+ /* Random values */
+ DO_TEST(0, 02267);
+ DO_TEST(1, 49887);
+ DO_TEST(0, 27589);
+ DO_TEST(0, 38393);
+ DO_TEST(0, 08934);
+ DO_TEST(0, 95820);
+ DO_TEST(0, 95596);
+ DO_TEST(72, 10642);
+ DO_TEST(0, 48939);
+ DO_TEST(3, 37797);
+ DO_TEST(1, 09194);
+ DO_TEST(0, 08605);
+ DO_TEST(3, 04349);
+ DO_TEST(3, 95401);
+ DO_TEST(15, 36292);
+ DO_TEST(56, 09242);
+ DO_TEST(0, 54071);
+ DO_TEST(27, 08953);
+ DO_TEST(0, 03913);
+ DO_TEST(1, 32707);
+ DO_TEST(4, 50117);
+ DO_TEST(0, 24990);
+ DO_TEST(44, 77319);
+ DO_TEST(2, 59139);
+ DO_TEST(0, 16279);
+ DO_TEST(17, 14712);
+ DO_TEST(11, 54281);
+ DO_TEST(0, 02768);
+ DO_TEST(0, 39278);
+ DO_TEST(0, 19369);
+ DO_TEST(-0, 04534);
+ DO_TEST(-0, 00349);
+ DO_TEST(-2, 30380);
+ DO_TEST(-0, 03061);
+ DO_TEST(-7, 50065);
+ DO_TEST(-3, 97050);
+ DO_TEST(-0, 43898);
+ DO_TEST(-3, 49876);
+ DO_TEST(-1, 35942);
+ DO_TEST(-10, 81154);
+ DO_TEST(-0, 26676);
+ DO_TEST(-9, 52134);
+ DO_TEST(-0, 42592);
+ DO_TEST(-0, 05424);
+ DO_TEST(-0, 62461);
+ DO_TEST(-0, 21562);
+ DO_TEST(-0, 22366);
+ DO_TEST(-0, 09074);
+ DO_TEST(-1, 29527);
+ DO_TEST(-4, 98427);
+ DO_TEST(-0, 10721);
+ DO_TEST(-11, 39446);
+ DO_TEST(-451, 53916);
+ DO_TEST(-0, 04279);
+ DO_TEST(-3, 36543);
+ DO_TEST(-0, 01003);
+ DO_TEST(-12, 08326);
+ DO_TEST(-1, 07143);
+ DO_TEST(-1, 07737);
+ DO_TEST(-0, 22957);
+ return 0;
+}