diff options
author | Bruno Haible <bruno@clisp.org> | 2012-02-26 17:27:47 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2012-02-26 17:27:47 +0100 |
commit | 27195c583664906bb3a897194e97cc28f76515fc (patch) | |
tree | 8d97254b76817bdb0f08061d1c887e729196b3b9 /tests | |
parent | 410b562e070cfdd12edec477f44d9acc2a402475 (diff) | |
download | gnulib-27195c583664906bb3a897194e97cc28f76515fc.tar.gz |
Tests for module 'fabsf-ieee'.
* modules/fabsf-ieee-tests: New file.
* tests/test-fabsf-ieee.c: New file.
* tests/test-fabs-ieee.h: New file.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-fabs-ieee.h | 40 | ||||
-rw-r--r-- | tests/test-fabsf-ieee.c | 45 |
2 files changed, 85 insertions, 0 deletions
diff --git a/tests/test-fabs-ieee.h b/tests/test-fabs-ieee.h new file mode 100644 index 0000000000..62f32c1c92 --- /dev/null +++ b/tests/test-fabs-ieee.h @@ -0,0 +1,40 @@ +/* Test of ldexp*() function family. + Copyright (C) 2012 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 + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +static void +test_function (void) +{ + /* [MX] shaded specification in POSIX. */ + + /* NaN. */ + ASSERT (ISNAN (FABS (NAN))); + + /* Signed zero. */ + { + DOUBLE y = FABS (L_(0.0)); + ASSERT (y == L_(0.0)); + ASSERT (!signbit (y)); + } + { + DOUBLE y = FABS (MINUS_ZERO); + ASSERT (y == L_(0.0)); + ASSERT (!signbit (y)); + } + + /* Infinity. */ + ASSERT (FABS (INFINITY) == INFINITY); + ASSERT (FABS (- INFINITY) == INFINITY); +} diff --git a/tests/test-fabsf-ieee.c b/tests/test-fabsf-ieee.c new file mode 100644 index 0000000000..8cb852b2a2 --- /dev/null +++ b/tests/test-fabsf-ieee.c @@ -0,0 +1,45 @@ +/* Test of fabsf() function. + Copyright (C) 2012 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 + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> + +#include <math.h> + +#include "isnanf-nolibm.h" +#include "minus-zero.h" +#include "infinity.h" +#include "nan.h" +#include "macros.h" + +#undef INFINITY +#undef NAN + +#define DOUBLE float +#define ISNAN isnanf +#define INFINITY Infinityf () +#define NAN NaNf () +#define L_(literal) literal##f +#define MINUS_ZERO minus_zerof +#define FABS fabsf +#include "test-fabs-ieee.h" + +int +main () +{ + test_function (); + + return 0; +} |