This source file includes following definitions.
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <config.h>
20
21 #include <math.h>
22
23 #include "signature.h"
24 SIGNATURE_CHECK (floor, double, (double));
25
26 #include "isnand-nolibm.h"
27 #include "minus-zero.h"
28 #include "infinity.h"
29 #include "nan.h"
30 #include "macros.h"
31
32 int
33 main (int argc, _GL_UNUSED char **argv)
34 {
35
36 ASSERT (floor (0.0) == 0.0);
37 ASSERT (floor (minus_zerod) == 0.0);
38
39 ASSERT (floor (0.3) == 0.0);
40 ASSERT (floor (0.7) == 0.0);
41 ASSERT (floor (1.0) == 1.0);
42 ASSERT (floor (1.5) == 1.0);
43 ASSERT (floor (1.999) == 1.0);
44 ASSERT (floor (2.0) == 2.0);
45 ASSERT (floor (65535.999) == 65535.0);
46 ASSERT (floor (65536.0) == 65536.0);
47 ASSERT (floor (2.341e31) == 2.341e31);
48
49 ASSERT (floor (-0.3) == -1.0);
50 ASSERT (floor (-0.7) == -1.0);
51 ASSERT (floor (-1.0) == -1.0);
52 ASSERT (floor (-1.001) == -2.0);
53 ASSERT (floor (-1.5) == -2.0);
54 ASSERT (floor (-1.999) == -2.0);
55 ASSERT (floor (-2.0) == -2.0);
56 ASSERT (floor (-65535.999) == -65536.0);
57 ASSERT (floor (-65536.0) == -65536.0);
58 ASSERT (floor (-2.341e31) == -2.341e31);
59
60 ASSERT (floor (Infinityd ()) == Infinityd ());
61 ASSERT (floor (- Infinityd ()) == - Infinityd ());
62
63 ASSERT (isnand (floor (NaNd ())));
64
65 return 0;
66 }