[Python-checkins] cpython: Improve comments.
stefan.krah
python-checkins at python.org
Thu May 31 16:35:09 CEST 2012
http://hg.python.org/cpython/rev/8c7bfd7ab995
changeset: 77263:8c7bfd7ab995
user: Stefan Krah <skrah at bytereef.org>
date: Thu May 31 16:21:34 2012 +0200
summary:
Improve comments.
files:
Modules/_decimal/libmpdec/mpdecimal.c | 18 +++++++++++---
1 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/Modules/_decimal/libmpdec/mpdecimal.c b/Modules/_decimal/libmpdec/mpdecimal.c
--- a/Modules/_decimal/libmpdec/mpdecimal.c
+++ b/Modules/_decimal/libmpdec/mpdecimal.c
@@ -3953,8 +3953,18 @@
}
/*
- * Internal function, specials have been dealt with. The result has a
- * relative error of less than 0.5 * 10**(-ctx->prec).
+ * Internal function, specials have been dealt with. Apart from Overflow
+ * and Underflow, two cases must be considered for the error of the result:
+ *
+ * 1) abs(a) <= 9 * 10**(-prec-1) ==> result == 1
+ *
+ * Absolute error: abs(1 - e**x) < 10**(-prec)
+ * -------------------------------------------
+ *
+ * 2) abs(a) > 9 * 10**(-prec-1)
+ *
+ * Relative error: abs(result - e**x) < 0.5 * 10**(-prec) * e**x
+ * -------------------------------------------------------------
*
* The algorithm is from Hull&Abrham, Variable Precision Exponential Function,
* ACM Transactions on Mathematical Software, Vol. 12, No. 2, June 1986.
@@ -3998,9 +4008,9 @@
*
* MAX-EMAX+1 < log10(e^(0.1*10*t)) <= log10(e^(r*10^t)) < adjexp(e^(r*10^t))+1
*
- * (2) -1 < r <= -0.1, so e^r <= e^-0.1. It t > MAX_T, underflow occurs:
+ * (2) -1 < r <= -0.1, so e^r <= e^-0.1. If t > MAX_T, underflow occurs:
*
- * adjexp(e^(r*10^t)) <= log10(e^(r*10^t)) <= log10(e^(-0.1*10^t) < MIN-ETINY
+ * adjexp(e^(r*10^t)) <= log10(e^(r*10^t)) <= log10(e^(-0.1*10^t)) < MIN-ETINY
*/
#if defined(CONFIG_64)
#define MPD_EXP_MAX_T 19
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list