diff options
author | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2013-08-26 15:06:41 +0000 |
---|---|---|
committer | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2013-08-26 15:06:41 +0000 |
commit | 116e71300f59cf299ba206c5fcab5c70f61fe62d (patch) | |
tree | 49c877cc5a94b6d52741adfbe55001045c5cf381 | |
parent | dea4bb627df4b2f9aef4cfd3f8c95fd44c667bfc (diff) | |
download | mpc-116e71300f59cf299ba206c5fcab5c70f61fe62d.tar.gz |
Backport fix in r1301 to branch 1.0.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/branches/1.0@1302 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/atan.c | 10 | ||||
-rw-r--r-- | tests/atan.dat | 12 | ||||
-rw-r--r-- | tests/atanh.dat | 3 |
4 files changed, 14 insertions, 13 deletions
@@ -1,4 +1,6 @@ Changes in version 1.0.2: + - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7 - Fixed mpc_log10 for purely imaginary argument, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-September/001208.html @@ -1,6 +1,6 @@ /* mpc_atan -- arctangent of a complex number. -Copyright (C) 2009, 2010, 2011, 2012 INRIA +Copyright (C) 2009, 2010, 2011, 2012, 2013 INRIA This file is part of GNU MPC. @@ -133,10 +133,10 @@ mpc_atan (mpc_ptr rop, mpc_srcptr op, mpc_rnd_t rnd) } else if (cmp_1 == 0) { - /* atan(+/-0+i) = NaN +i*inf - atan(+/-0-i) = NaN -i*inf */ - mpfr_set_nan (mpc_realref (rop)); - mpfr_set_inf (mpc_imagref (rop), s_im ? -1 : +1); + /* atan(+/-0 +i) = +/-0 +i*inf + atan(+/-0 -i) = +/-0 -i*inf */ + mpfr_set_zero (mpc_realref (rop), s_re ? -1 : +1); + mpfr_set_inf (mpc_imagref (rop), s_im ? -1 : +1); } else { diff --git a/tests/atan.dat b/tests/atan.dat index f3ba3ec..871f706 100644 --- a/tests/atan.dat +++ b/tests/atan.dat @@ -1,6 +1,6 @@ # Data file for mpc_atan. # -# Copyright (C) 2009, 2012 INRIA +# Copyright (C) 2009, 2012, 2013 INRIA # # This file is part of GNU MPC. # @@ -113,8 +113,8 @@ - + 53 +0x1921FB54442D18p-52 53 -0x1269621134DB92p-55 53 +0 53 -7 N N + + 53 -0x1921FB54442D18p-52 53 -0x19C041F7ED8D33p-53 53 -0 53 -1.5 N N - + 53 +0x1921FB54442D18p-52 53 -0x19C041F7ED8D33p-53 53 +0 53 -1.5 N N -0 0 53 nan 53 -inf 53 -0 53 -1 N N -0 0 53 nan 53 -inf 53 +0 53 -1 N N +0 0 53 -0 53 -inf 53 -0 53 -1 N N +0 0 53 +0 53 -inf 53 +0 53 -1 N N 0 + 53 -0 53 -0x15AA16394D481Fp-52 53 -0 53 -0.875 N N 0 + 53 +0 53 -0x15AA16394D481Fp-52 53 +0 53 -0.875 N N 0 + 53 -0 53 -0x1015891C9EAEF7p-55 53 -0 53 -0.125 N N @@ -123,15 +123,13 @@ 0 - 53 -0 53 +0x1015891C9EAEF7p-55 53 -0 53 +0.125 N N 0 - 53 +0 53 +0x15AA16394D481Fp-52 53 +0 53 +0.875 N N 0 - 53 -0 53 +0x15AA16394D481Fp-52 53 -0 53 +0.875 N N -0 0 53 nan 53 +inf 53 +0 53 +1 N N -0 0 53 nan 53 +inf 53 -0 53 +1 N N +0 0 53 +0 53 +inf 53 +0 53 +1 N N +0 0 53 -0 53 +inf 53 -0 53 +1 N N - - 53 +0x1921FB54442D18p-52 53 +0x19C041F7ED8D33p-53 53 +0 53 +1.5 N N + - 53 -0x1921FB54442D18p-52 53 +0x19C041F7ED8D33p-53 53 -0 53 +1.5 N N - - 53 +0x1921FB54442D18p-52 53 +0x1269621134DB92p-55 53 +0 53 +7 N N + - 53 -0x1921FB54442D18p-52 53 +0x1269621134DB92p-55 53 -0 53 +7 N N 0 + 53 +0 53 0x1FFFFFFFFFFF82p-52 53 +0 53 0x1ED9505E1BC3C2p-53 N N -0 0 53 nan 53 -inf 53 +0 53 -1 N N -0 0 53 nan 53 +inf 53 +0 53 +1 N N + - 512 0x6487ED5110B4611A62633145C06E0E68948127044533E63A0105DF531D89CD9128A5043CC71A026EF7CA8CD9E69D218D98158536F92F8A1BA7F09AB6B6A8E123p-510 512 0x5D137113B914461DA3202D77346EE4980DA5FD0BAD68F5A7928DCA9F632750D9BFFA00654C523929F15DED554EC6BC476DB2C46FA433E569227085E0BDEA86FFp-509 512 0 512 0x1018734E311AB77B710F9212969B3C86E8F388BB7DA5BAF74ADE078F43D96456D088C8A0B2A370159DFB8D4A4BC51BCDA91F2DCD01B2EC610C62AA33FAD1688p-504 N Z + - 12 0xC91p-11 12 0x6F1p-50 12 +0 12 0x9380000000 N N diff --git a/tests/atanh.dat b/tests/atanh.dat index b0f9977..c6517a8 100644 --- a/tests/atanh.dat +++ b/tests/atanh.dat @@ -1,6 +1,6 @@ # Data file for mpc_atanh. # -# Copyright (C) 2009 INRIA +# Copyright (C) 2009, 2013 INRIA # # This file is part of GNU MPC. # @@ -85,6 +85,7 @@ 0 0 53 nan 53 nan 53 nan 53 +1 N N 0 - 53 0 53 +0x1921FB54442D18p-52 53 nan 53 +inf N N 0 0 53 nan 53 nan 53 nan 53 nan N N +0 0 53 +inf 53 +0 53 1 53 +0 N N # pure real argument - + 53 -0x1E27076E2AF2E6p-57 53 -0x1921FB54442D18p-52 53 -17 53 -0 N N |