|
|
|
|
@ -2160,16 +2160,16 @@ Starts from START and adds STEP each time. The default START is |
|
|
|
|
zero, the default STEP is 1. |
|
|
|
|
This function takes its name from the corresponding primitive in |
|
|
|
|
the APL language." |
|
|
|
|
(if (or (not (integerp count)) (< count 0)) |
|
|
|
|
(signal 'wrong-type-argument count)) |
|
|
|
|
(if (and step (zerop step)) (make-list count start) |
|
|
|
|
(let ((res '()) |
|
|
|
|
(x (or start 0)) |
|
|
|
|
(dx (or step 1))) |
|
|
|
|
(when (not (natnump count)) |
|
|
|
|
(signal 'wrong-type-argument (list #'natnump count))) |
|
|
|
|
(or start (setq start 0)) |
|
|
|
|
(or step (setq step 1)) |
|
|
|
|
(if (zerop step) (make-list count start) |
|
|
|
|
(let (result) |
|
|
|
|
(while (<= 0 (setq count (1- count))) |
|
|
|
|
(push x res) |
|
|
|
|
(setq x (+ x dx))) |
|
|
|
|
(nreverse res)))) |
|
|
|
|
(push start result) |
|
|
|
|
(setq start (+ start step))) |
|
|
|
|
(nreverse result)))) |
|
|
|
|
|
|
|
|
|
(defun -fix (fn list) |
|
|
|
|
"Compute the (least) fixpoint of FN with initial input LIST. |
|
|
|
|
|