summaryrefslogtreecommitdiff
path: root/tests/tadd1sp.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-07-06 10:26:40 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-07-06 10:26:40 +0000
commita59dc9a549a0f9aff5cb009e2ea68cd67c9e23fc (patch)
tree478b48205dcd2ce92511bd7de87e01a19ac375a8 /tests/tadd1sp.c
parenta1077681fe033327f5b503ecd16bb29af0a8f7cd (diff)
downloadmpfr-a59dc9a549a0f9aff5cb009e2ea68cd67c9e23fc.tar.gz
[tests/tadd1sp.c] Test negative numbers too.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@10570 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tadd1sp.c')
-rw-r--r--tests/tadd1sp.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/tadd1sp.c b/tests/tadd1sp.c
index 479e2b179..b365b472c 100644
--- a/tests/tadd1sp.c
+++ b/tests/tadd1sp.c
@@ -118,14 +118,18 @@ check_random (mpfr_prec_t p)
mpfr_urandomb (c, RANDS);
if (MPFR_IS_PURE_FP(b) && MPFR_IS_PURE_FP(c))
{
+ if (randlimb () & 1)
+ mpfr_neg (b, b, MPFR_RNDN);
+ if (randlimb () & 1)
+ mpfr_neg (c, c, MPFR_RNDN);
if (MPFR_GET_EXP(b) < MPFR_GET_EXP(c))
- mpfr_swap(b, c);
+ mpfr_swap (b, c);
if (MPFR_IS_PURE_FP(b) && MPFR_IS_PURE_FP(c))
for (r = 0 ; r < MPFR_RND_MAX ; r++)
{
- inexact1 = mpfr_add1(a1, b, c, (mpfr_rnd_t) r);
- inexact2 = mpfr_add1sp(a2, b, c, (mpfr_rnd_t) r);
- if (mpfr_cmp(a1, a2))
+ inexact1 = mpfr_add1 (a1, b, c, (mpfr_rnd_t) r);
+ inexact2 = mpfr_add1sp (a2, b, c, (mpfr_rnd_t) r);
+ if (! mpfr_equal_p (a1, a2))
STD_ERROR;
if (inexact1 != inexact2)
STD_ERROR2;