From: Jay Belanger Date: Sun, 24 Jun 2007 19:46:53 +0000 (+0000) Subject: (math-scale-bignum-digit-size): Renamed from math-scale-bignum-3. X-Git-Tag: emacs-pretest-23.0.90~12126 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=98888d774f42158d05d040bf72ef67d86e75664c;p=emacs.git (math-scale-bignum-digit-size): Renamed from math-scale-bignum-3. (math-isqrt-bignum): Use math-scale-bignum-digit-size and math-bignum-digit-size. (math-isqrt-small): Add another possible initial guess. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a59c7d623b4..f27fa90ec25 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -4,6 +4,14 @@ Use math-read-number-simple to insert constants. (math-prime-test): Redo calculation of sum. + * calc/calc-misc.el (math-div2-bignum): Use math-bignum-digit-size. + + * calc/calc-math.el (math-scale-bignum-digit-size): Renamed from + math-scale-bignum-3. + (math-isqrt-bignum): Use math-scale-bignum-digit-size and + math-bignum-digit-size. + (math-isqrt-small): Add another possible initial guess. + 2007-06-23 Roland Winkler * textmodes/bibtex.el (bibtex-entry-format): New options diff --git a/lisp/calc/calc-math.el b/lisp/calc/calc-math.el index 610ed304106..6ee7a49feab 100644 --- a/lisp/calc/calc-math.el +++ b/lisp/calc/calc-math.el @@ -310,15 +310,15 @@ (let* ((top (nthcdr (- len 2) a))) (math-isqrt-bignum-iter a - (math-scale-bignum-3 + (math-scale-bignum-digit-size (math-bignum-big (1+ (math-isqrt-small - (+ (* (nth 1 top) 1000) (car top))))) + (+ (* (nth 1 top) math-bignum-digit-size) (car top))))) (1- (/ len 2))))) (let* ((top (nth (1- len) a))) (math-isqrt-bignum-iter a - (math-scale-bignum-3 + (math-scale-bignum-digit-size (list (1+ (math-isqrt-small top))) (/ len 2))))))) @@ -341,14 +341,15 @@ (while (eq (car (setq a (cdr a))) 0)) (null a)))) -(defun math-scale-bignum-3 (a n) ; [L L S] +(defun math-scale-bignum-digit-size (a n) ; [L L S] (while (> n 0) (setq a (cons 0 a) n (1- n))) a) (defun math-isqrt-small (a) ; A > 0. [S S] - (let ((g (cond ((>= a 10000) 1000) + (let ((g (cond ((>= a 1000000) 10000) + ((>= a 10000) 1000) ((>= a 100) 100) (t 10))) g2)