summaryrefslogtreecommitdiff
path: root/asin.c
diff options
context:
space:
mode:
authordaney <daney@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-01 14:15:23 +0000
committerdaney <daney@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-01 14:15:23 +0000
commit6727adf3d8d127aa871f69055bdb076652788586 (patch)
treeefd2976e31af175c8089168815ee656e5e9b8dd4 /asin.c
parentbd72a9589cfc5ffd76b992dda404058c30140482 (diff)
downloadmpfr-6727adf3d8d127aa871f69055bdb076652788586.tar.gz
clear xp for Nan Inf or 0 are returned
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1463 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'asin.c')
-rw-r--r--asin.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/asin.c b/asin.c
index 58bdbb794..df2c3c71b 100644
--- a/asin.c
+++ b/asin.c
@@ -68,6 +68,7 @@ mpfr_asin (asin, x, rnd_mode)
if (compared > 0) /* asin(x) = NaN for |x| > 1 */
{
MPFR_SET_NAN(asin);
+ mpfr_clear(xp);
return 1;
}
@@ -84,12 +85,14 @@ mpfr_asin (asin, x, rnd_mode)
mpfr_const_pi (asin, rnd_mode);
}
MPFR_EXP(asin)--;
+ mpfr_clear(xp);
return 1; /* inexact */
}
if (!MPFR_NOTZERO(x)) /* x = 0 */
{
mpfr_set_ui (asin, 0, GMP_RNDN);
+ mpfr_clear(xp);
return 0; /* exact result */
}
@@ -178,3 +181,8 @@ mpfr_asin (asin, x, rnd_mode)
return 1; /* inexact result */
}
+
+
+
+
+