]> git.eshelyaron.com Git - emacs.git/commitdiff
(math-init-random-base,math-prime-test): Use math-read-number-simple
authorJay Belanger <jay.p.belanger@gmail.com>
Sun, 24 Jun 2007 14:30:14 +0000 (14:30 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Sun, 24 Jun 2007 14:30:14 +0000 (14:30 +0000)
to insert constants.
(math-prime-test): Redo calculation of sum.

lisp/ChangeLog
lisp/calc/calc-comb.el

index b809757a9dedeefa1cf2ecd54c36d6ecbf72391b..a59c7d623b41d776360e39a47bdd2155dcced078 100644 (file)
@@ -1,3 +1,9 @@
+2007-06-24  Jay Belanger  <jay.p.belanger@gmail.com>
+
+       * calc/calc-comb.el (math-init-random-base,math-prime-test):
+       Use math-read-number-simple to insert constants.
+       (math-prime-test): Redo calculation of sum.
+
 2007-06-23  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 
        * textmodes/bibtex.el (bibtex-entry-format): New options
index d4d2ce19528418e3996cfe40e405e28fd30b8e96..515995a2e746293dbdbe61307108abb69f3b0dce 100644 (file)
          nil
        (if (Math-integerp var-RandSeed)
            (let* ((seed (math-sub 161803 var-RandSeed))
-                  (mj (1+ (math-mod seed '(bigpos 0 0 1))))
-                  (mk (1+ (math-mod (math-quotient seed '(bigpos 0 0 1))
-                                    '(bigpos 0 0 1))))
+                  (mj (1+ (math-mod seed 
+                                     (eval-when-compile
+                                       (math-read-number-simple "1000000")))))
+                  (mk (1+ (math-mod (math-quotient 
+                                      seed 
+                                      (eval-when-compile
+                                        (math-read-number-simple "1000000")))
+                                     (eval-when-compile 
+                                       (math-read-number-simple "1000000")))))
                   (i 0))
              (setq math-random-table (cons 'vec (make-list 55 mj)))
              (while (<= (setq i (1+ i)) 54)
                   (error "Argument must be an integer"))
                  ((Math-integer-negp n)
                   '(nil))
-                 ((Math-natnum-lessp n '(bigpos 0 0 8))
+                 ((Math-natnum-lessp n 
+                                      (eval-when-compile
+                                        (math-read-number-simple "8000000")))
                   (setq n (math-fixnum n))
                   (let ((i -1) v)
                     (while (and (> (% n (setq v (aref math-primes-table
                  ((not (equal n (car math-prime-test-cache)))
                   (cond ((= (% (nth 1 n) 2) 0) '(nil 2))
                         ((= (% (nth 1 n) 5) 0) '(nil 5))
-                        (t (let ((dig (cdr n)) (sum 0))
-                             (while dig
-                               (if (cdr dig)
-                                   (setq sum (% (+ (+ sum (car dig))
-                                                   (* (nth 1 dig) 1000))
-                                                111111)
-                                         dig (cdr (cdr dig)))
-                                 (setq sum (% (+ sum (car dig)) 111111)
-                                       dig nil)))
+                        (t (let ((q n) (sum 0))
+                              (while (not (eq q 0))
+                                (setq sum (%
+                                           (+
+                                            sum
+                                            (calcFunc-mod 
+                                             q 
+                                             (eval-when-compile
+                                               (math-read-number-simple
+                                                "1000000"))))
+                                           111111))
+                                (setq q 
+                                      (math-quotient 
+                                       q 
+                                       (eval-when-compile
+                                         (math-read-number-simple
+                                          "1000000")))))
                              (cond ((= (% sum 3) 0) '(nil 3))
                                    ((= (% sum 7) 0) '(nil 7))
                                    ((= (% sum 11) 0) '(nil 11))