57 |
(unless (or (eq (car type) 'array) |
(unless (or (eq (car type) 'array) |
58 |
(eq (car type) 'simple-array)) |
(eq (car type) 'simple-array)) |
59 |
(specific-error :wrong-type-argument "~S is not of type ~S." |
(specific-error :wrong-type-argument "~S is not of type ~S." |
60 |
type "sequence")) |
type 'sequence)) |
61 |
(unless (or (not (si::fixnump (car (caddr type)))) |
(let ((ssize (caddr type))) |
62 |
(equal (car (caddr type)) size)) |
(if (listp ssize) (setq ssize (car ssize))) |
63 |
|
(if (not (si::fixnump ssize)) (setq ssize size)) |
64 |
|
(unless (equal ssize size) |
65 |
(specific-error :wrong-type-argument "~S is not of type ~S." |
(specific-error :wrong-type-argument "~S is not of type ~S." |
66 |
type (format nil "~S (size ~S)" type size))) |
type (format nil "~S (size ~S)" type size)))) |
67 |
(or (cadr type) t)))) |
(or (cadr type) t)))) |
68 |
(setq element-type (si::best-array-element-type element-type)) |
(setq element-type (si::best-array-element-type element-type)) |
69 |
(setq sequence (si:make-vector element-type size nil nil nil nil nil)) |
(setq sequence (si:make-vector element-type size nil nil nil nil nil)) |