summaryrefslogtreecommitdiff
path: root/test/math/signgam.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-10-30 23:45:41 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-10-30 23:45:41 +0200
commit4435b3ae24b6f76892b7c06c300687c23fab2729 (patch)
tree7fd9676b25e7177963eca799831497354fe1b5ae /test/math/signgam.c
parentae73aafe99fa6bb5e7422f2bdedea39f03ead72c (diff)
libm: fix rint/scalb testcase failures
These failures no longer happen: Failure: Test: scalb (2.0, 0.5) == NaN plus invalid exception Failure: Test: scalb (3.0, -2.5) == NaN plus invalid exception Failure: Test: rint (0.5) == 0.0 Failure: Test: rint (1.5) == 2.0 Failure: Test: rint (2.5) == 2.0 Failure: Test: rint (3.5) == 4.0 Failure: Test: rint (4.5) == 4.0 Failure: Test: rint (-0.5) == -0.0 Failure: Test: rint (-1.5) == -2.0 Failure: Test: rint (-2.5) == -2.0 Failure: Test: rint (-3.5) == -4.0 Failure: Test: rint (-4.5) == -4.0 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'test/math/signgam.c')
-rw-r--r--test/math/signgam.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/test/math/signgam.c b/test/math/signgam.c
index c60375aec..d79d6afb2 100644
--- a/test/math/signgam.c
+++ b/test/math/signgam.c
@@ -5,14 +5,23 @@
double zero = 0.0;
double mzero;
-int
-main (void)
+int main(void)
{
- double d;
- mzero = copysign (zero, -1.0);
- d = lgamma (zero);
- printf ("%g %d\n", d, signgam);
- d = lgamma (mzero);
- printf ("%g %d\n", d, signgam);
- return 0;
+ double d;
+ int errors = 0;
+
+ mzero = copysign(zero, -1.0);
+
+ d = lgamma(zero);
+ printf("%g %d\n", d, signgam);
+ errors += !(d == HUGE_VAL);
+ errors += !(signgam == 1);
+
+ d = lgamma(mzero);
+ printf("%g %d\n", d, signgam);
+ errors += !(d == HUGE_VAL);
+ errors += !(signgam == -1);
+
+ printf("Errors: %d\n", errors);
+ return errors;
}