annotate tests/test-ceil1.c @ 14878:293a9a1292a9

strerror-override: avoid bloating errno module * modules/errno (Files, configure.ac): Move replacement strings... * modules/strerror-override: ...to new module. * modules/strerror (Depends-on): Add strerror-override. * modules/strerror_r-posix (Depends-on): Likewise. * MODULES.html.sh: Document new module. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Mon, 06 Jun 2011 15:11:04 -0600
parents 97fc9a21a8fb
children 328819af1c02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13975
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* Test of rounding towards positive infinity.
14079
97fc9a21a8fb maint: update almost all copyright ranges to include 2011
Jim Meyering <meyering@redhat.com>
parents: 13975
diff changeset
2 Copyright (C) 2007-2011 Free Software Foundation, Inc.
13975
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 This program is free software: you can redistribute it and/or modify
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 the Free Software Foundation; either version 3 of the License, or
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 (at your option) any later version.
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 GNU General Public License for more details.
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17 /* Written by Bruno Haible <bruno@clisp.org>, 2007. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 #include <config.h>
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 #include <math.h>
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 #include "signature.h"
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24 SIGNATURE_CHECK (ceil, double, (double));
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
26 #include <float.h>
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
27
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
28 #include "isnand-nolibm.h"
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
29 #include "minus-zero.h"
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30 #include "nan.h"
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31 #include "macros.h"
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
32
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
33 int
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
34 main ()
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 {
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
36 /* Zero. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
37 ASSERT (ceil (0.0) == 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
38 ASSERT (ceil (minus_zerod) == 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
39 /* Positive numbers. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
40 ASSERT (ceil (0.3) == 1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
41 ASSERT (ceil (0.7) == 1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
42 ASSERT (ceil (1.0) == 1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
43 ASSERT (ceil (1.001) == 2.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
44 ASSERT (ceil (1.5) == 2.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
45 ASSERT (ceil (1.999) == 2.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
46 ASSERT (ceil (2.0) == 2.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
47 ASSERT (ceil (65535.999) == 65536.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
48 ASSERT (ceil (65536.0) == 65536.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
49 ASSERT (ceil (2.341e31) == 2.341e31);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
50 /* Negative numbers. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
51 ASSERT (ceil (-0.3) == 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
52 ASSERT (ceil (-0.7) == 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
53 ASSERT (ceil (-1.0) == -1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
54 ASSERT (ceil (-1.5) == -1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
55 ASSERT (ceil (-1.999) == -1.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
56 ASSERT (ceil (-2.0) == -2.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
57 ASSERT (ceil (-65535.999) == -65535.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
58 ASSERT (ceil (-65536.0) == -65536.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
59 ASSERT (ceil (-2.341e31) == -2.341e31);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
60 /* Infinite numbers. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
61 ASSERT (ceil (1.0 / 0.0) == 1.0 / 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
62 ASSERT (ceil (-1.0 / 0.0) == -1.0 / 0.0);
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
63 /* NaNs. */
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
64 ASSERT (isnand (ceil (NaNd ())));
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
65
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
66 return 0;
0af73906c87a Tests for module 'ceil'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
67 }