33 |
(eval-when (compile) (proclaim '(optimize (safety 1) (space 3)))) |
(eval-when (compile) (proclaim '(optimize (safety 1) (space 3)))) |
34 |
|
|
35 |
(defun make-sequence-vector (element-type size iesp initial-element) |
(defun make-sequence-vector (element-type size iesp initial-element) |
|
(unless element-type |
|
|
(assert-type type '(member list array))) |
|
36 |
(let ((sequence (si:make-vector element-type size nil nil nil nil nil))) |
(let ((sequence (si:make-vector element-type size nil nil nil nil nil))) |
37 |
(when iesp |
(when iesp |
38 |
(do ((i 0 (1+ i)) |
(do ((i 0 (1+ i)) |
56 |
((subtypep1 type 'list) |
((subtypep1 type 'list) |
57 |
(make-list size :initial-element (and iesp initial-element))) |
(make-list size :initial-element (and iesp initial-element))) |
58 |
((subtypep1 type 'array) |
((subtypep1 type 'array) |
59 |
(make-sequence-vector (sequence-type-element-type type) size iesp initial-element)) |
(let ((element-type (sequence-type-element-type type))) |
60 |
|
(unless element-type |
61 |
|
(assert-type type '(member list array))) |
62 |
|
(make-sequence-vector element-type size iesp initial-element))) |
63 |
((assert-type type '(member list array))))) |
((assert-type type '(member list array))))) |
64 |
|
|
65 |
|
|