diff options
| -rw-r--r-- | lisp/calc/calc-comb.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/calc/calc-comb.el b/lisp/calc/calc-comb.el index c84ff236851..91fbb7b2b8a 100644 --- a/lisp/calc/calc-comb.el +++ b/lisp/calc/calc-comb.el | |||
| @@ -362,11 +362,13 @@ | |||
| 362 | (math-gammap1-raw '(float -25 -2)))) | 362 | (math-gammap1-raw '(float -25 -2)))) |
| 363 | 363 | ||
| 364 | (defun math-factorial-iter (count n f) | 364 | (defun math-factorial-iter (count n f) |
| 365 | (if (= (% n 5) 1) | 365 | (while (> count 0) |
| 366 | (math-working (format "factorial(%d)" (1- n)) f)) | 366 | (if (= (% n 5) 1) |
| 367 | (if (> count 0) | 367 | (math-working (format "factorial(%d)" (1- n)) f)) |
| 368 | (math-factorial-iter (1- count) (1+ n) (math-mul n f)) | 368 | (setq count (1- count) |
| 369 | f)) | 369 | f (math-mul n f) |
| 370 | n (1+ n))) | ||
| 371 | f) | ||
| 370 | 372 | ||
| 371 | (defun calcFunc-dfact (n) ; [I I] [F F] [Public] | 373 | (defun calcFunc-dfact (n) ; [I I] [F F] [Public] |
| 372 | (cond ((Math-integer-negp n) | 374 | (cond ((Math-integer-negp n) |