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 (trunc, 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 ()
34 {
35
36 ASSERT (trunc (0.0) == 0.0);
37 ASSERT (trunc (minus_zerod) == 0.0);
38
39 ASSERT (trunc (0.3) == 0.0);
40 ASSERT (trunc (0.7) == 0.0);
41 ASSERT (trunc (1.0) == 1.0);
42 ASSERT (trunc (1.5) == 1.0);
43 ASSERT (trunc (1.999) == 1.0);
44 ASSERT (trunc (2.0) == 2.0);
45 ASSERT (trunc (65535.999) == 65535.0);
46 ASSERT (trunc (65536.0) == 65536.0);
47 ASSERT (trunc (2.341e31) == 2.341e31);
48
49 ASSERT (trunc (-0.3) == 0.0);
50 ASSERT (trunc (-0.7) == 0.0);
51 ASSERT (trunc (-1.0) == -1.0);
52 ASSERT (trunc (-1.5) == -1.0);
53 ASSERT (trunc (-1.999) == -1.0);
54 ASSERT (trunc (-2.0) == -2.0);
55 ASSERT (trunc (-65535.999) == -65535.0);
56 ASSERT (trunc (-65536.0) == -65536.0);
57 ASSERT (trunc (-2.341e31) == -2.341e31);
58
59 ASSERT (trunc (Infinityd ()) == Infinityd ());
60 ASSERT (trunc (- Infinityd ()) == - Infinityd ());
61
62 ASSERT (isnand (trunc (NaNd ())));
63
64 return 0;
65 }