Fixed up more warnings
[fw/sdcc] / support / regression / tests / simplefloat.c
1 /** Simple set of tests for floating pt.
2  */
3 #include <testfwk.h>
4
5 void
6 testCmp(void)
7 {
8   volatile float left, right;
9
10   left = 5;
11   right = 13;
12   ASSERT(left + right == 18);
13   ASSERT(left + right <= 18);
14   ASSERT(left + right >= 18);
15   ASSERT(left + right > 17.9);
16   ASSERT(left + right < 18.1);
17 }
18
19 void
20 testDiv(void)
21 {
22 #if !PORT_HOST
23   volatile float left, right;
24
25   left = 17;
26   right = 343;
27
28   ASSERT(left/right == (17.0/343.0));
29   ASSERT(right/left == (343.0/17.0));
30
31   right = 17;
32   ASSERT(left/right == 1.0);
33 #endif
34 }
35
36 void
37 testDivNearOne(void)
38 {
39   volatile float left, right, result;
40
41   left = 12392.4;
42   right = 12392.4;
43   result = left / right;
44
45   if (result > 0.999999)
46     {
47       /* Fine */
48     }
49   else
50     {
51       FAIL();
52     }
53   if (result < 1.00001)
54     {
55       /* Fine */
56     }
57   else
58     {
59       FAIL();
60     }
61   if (result > 0.999999 && result < 1.00001)
62     {
63       /* Fine */
64     }
65   else
66     {
67       FAIL();
68     }
69 }