aboutsummaryrefslogtreecommitdiff
path: root/Client/ThirdParty/libfixmath/tests/tests_macros.c
blob: bb80c792a1b216d83ad51118203d07d348613d86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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;
}