diff options
Diffstat (limited to 'log1p.c')
-rw-r--r-- | log1p.c | 64 |
1 files changed, 32 insertions, 32 deletions
@@ -34,32 +34,32 @@ mpfr_log1p (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x))) { if (MPFR_IS_NAN (x)) - { - MPFR_SET_NAN (y); - MPFR_RET_NAN; - } + { + MPFR_SET_NAN (y); + MPFR_RET_NAN; + } /* check for inf or -inf (result is not defined) */ else if (MPFR_IS_INF (x)) - { - if (MPFR_IS_POS (x)) - { - MPFR_SET_INF (y); - MPFR_SET_POS (y); - MPFR_RET (0); - } - else - { - MPFR_SET_NAN (y); - MPFR_RET_NAN; - } - } + { + if (MPFR_IS_POS (x)) + { + MPFR_SET_INF (y); + MPFR_SET_POS (y); + MPFR_RET (0); + } + else + { + MPFR_SET_NAN (y); + MPFR_RET_NAN; + } + } else /* x is zero */ - { + { MPFR_ASSERTD (MPFR_IS_ZERO (x)); - MPFR_SET_ZERO (y); /* log1p(+/- 0) = +/- 0 */ - MPFR_SET_SAME_SIGN (y, x); - MPFR_RET (0); - } + MPFR_SET_ZERO (y); /* log1p(+/- 0) = +/- 0 */ + MPFR_SET_SAME_SIGN (y, x); + MPFR_RET (0); + } } /* log(1+x) = x-x^2/2 + ... so the error is < 2^(2*EXP(x)-1) */ @@ -70,12 +70,12 @@ mpfr_log1p (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) if (MPFR_UNLIKELY(comp <= 0)) { if (comp == 0) - /* x=0: log1p(-1)=-inf (division by zero) */ - { - MPFR_SET_INF (y); - MPFR_SET_NEG (y); - MPFR_RET (0); - } + /* x=0: log1p(-1)=-inf (division by zero) */ + { + MPFR_SET_INF (y); + MPFR_SET_NEG (y); + MPFR_RET (0); + } MPFR_SET_NAN (y); MPFR_RET_NAN; } @@ -116,12 +116,12 @@ mpfr_log1p (mpfr_ptr y, mpfr_srcptr x, mp_rnd_t rnd_mode) /*err=Nt-(__gmpfr_ceil_log2(1+pow(2,1-MPFR_GET_EXP(t))));*/ err = Nt - (MAX (1 - MPFR_GET_EXP (t), 0) + 1); - if (MPFR_LIKELY (MPFR_CAN_ROUND (t, err, Ny, rnd_mode))) - break; + if (MPFR_LIKELY (MPFR_CAN_ROUND (t, err, Ny, rnd_mode))) + break; /* increase the precision */ - MPFR_ZIV_NEXT (loop, Nt); - mpfr_set_prec (t, Nt); + MPFR_ZIV_NEXT (loop, Nt); + mpfr_set_prec (t, Nt); } MPFR_ZIV_FREE (loop); inexact = mpfr_set (y, t, rnd_mode); |