diff options
author | Eric Blake <ebb9@byu.net> | 2008-03-30 16:40:35 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2008-03-30 16:42:20 -0600 |
commit | 0ac95ec362e080d762ac47d2560bac7f741e2861 (patch) | |
tree | 270a626467c71e8e4613ac45959d1bd081a3caa6 /tests/test-signbit.c | |
parent | 53916448ea693ff5d90369d91fbdab3bf2c62d4d (diff) | |
download | gnulib-0ac95ec362e080d762ac47d2560bac7f741e2861.tar.gz |
Test signbit behavior on zeros.
* tests/test-signbit.c (test_signbitf): Add tests for zero.
(test_signbitd, test_signbitl): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'tests/test-signbit.c')
-rw-r--r-- | tests/test-signbit.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/test-signbit.c b/tests/test-signbit.c index 9cc65e3058..3e0185916b 100644 --- a/tests/test-signbit.c +++ b/tests/test-signbit.c @@ -1,5 +1,5 @@ /* Test of signbit() substitute. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,6 +49,12 @@ test_signbitf () ASSERT (signbit (-2.718f)); ASSERT (signbit (-2.718e30f)); ASSERT (signbit (-2.718e-30f)); + /* Zeros. */ + ASSERT (!signbit (0.0f)); + if (1.0f / -zerof < 0) + ASSERT (signbit (-0.0f)); + else + ASSERT (!signbit (-0.0f)); /* Infinite values. */ ASSERT (!signbit (1.0f / 0.0f)); ASSERT (signbit (-1.0f / 0.0f)); @@ -88,6 +94,12 @@ test_signbitd () ASSERT (signbit (-2.718)); ASSERT (signbit (-2.718e30)); ASSERT (signbit (-2.718e-30)); + /* Zeros. */ + ASSERT (!signbit (0.0)); + if (1.0 / -zerod < 0) + ASSERT (signbit (-0.0)); + else + ASSERT (!signbit (-0.0)); /* Infinite values. */ ASSERT (!signbit (1.0 / 0.0)); ASSERT (signbit (-1.0 / 0.0)); @@ -125,6 +137,12 @@ test_signbitl () ASSERT (signbit (-2.718L)); ASSERT (signbit (-2.718e30L)); ASSERT (signbit (-2.718e-30L)); + /* Zeros. */ + ASSERT (!signbit (0.0L)); + if (1.0L / -zerol < 0) + ASSERT (signbit (-0.0L)); + else + ASSERT (!signbit (-0.0L)); /* Infinite values. */ ASSERT (!signbit (1.0L / 0.0L)); ASSERT (signbit (-1.0L / 0.0L)); |