Changeset 15327
- Timestamp:
- 06/11/20 12:25:31 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/sort.lisp
r15326 r15327 99 99 (loop 100 100 (if (funcall ,predicate ,k-b ,k-a) 101 (progn 102 ;; (setf (svref ,aux ,i-aux) ,v-b ;; FIXME Ticket #196 103 (setf (aref ,aux ,i-aux) ,v-b 104 ,i-aux (+ ,i-aux 1) 105 ,i-b (+ ,i-b 1)) 101 (progn 102 ,(if (subtypep type 'simple-vector) 103 `(setf (svref ,aux ,i-aux) ,v-b 104 ,i-aux (+ ,i-aux 1) 105 ,i-b (+ ,i-b 1)) 106 `(setf (aref ,aux ,i-aux) ,v-b 107 ,i-aux (+ ,i-aux 1) 108 ,i-b (+ ,i-b 1))) 106 109 (when (= ,i-b ,end-b) (return)) 107 110 (setf ,v-b (,ref ,b ,i-b) … … 109 112 `(,k-b (funcall ,key ,v-b)) 110 113 `(,k-b ,v-b)))) 111 (progn 112 ;; (setf (svref ,aux ,i-aux) ,v-a ;; FIXME Ticket #196 113 (setf (aref ,aux ,i-aux) ,v-a 114 ,i-aux (+ ,i-aux 1) 115 ,i-a (+ ,i-a 1)) 114 (progn 115 ,(if (subtypep type 'simple-vector) 116 `(setf (svref ,aux ,i-aux) ,v-a 117 ,i-aux (+ ,i-aux 1) 118 ,i-a (+ ,i-a 1)) 119 `(setf (aref ,aux ,i-aux) ,v-a 120 ,i-aux (+ ,i-aux 1) 121 ,i-a (+ ,i-a 1))) 116 122 (when (= ,i-a ,end-a) 117 123 (setf ,a ,b … … 125 131 `(,k-a ,v-a)))))))) 126 132 (loop 127 ;; (setf (svref ,aux ,i-aux) ,v-a ;; FIXME Ticket #196 128 (setf (aref ,aux ,i-aux) ,v-a 129 ,i-a (+ ,i-a 1)) 133 ,(if (subtypep type 'simple-vector) 134 `(setf (svref ,aux ,i-aux) ,v-a 135 ,i-a (+ ,i-a 1)) 136 `(setf (aref ,aux ,i-aux) ,v-a 137 ,i-a (+ ,i-a 1))) 130 138 (when (= ,i-a ,end-a) (return)) 131 139 (setf ,v-a (,ref ,a ,i-a) … … 164 172 ,mid ,end ,aux ,start ,predicate))))) 165 173 (let ((,maux (make-array ,mend))) 166 ;; (declare (type simple-vector ,maux)) 167 (declare (type vector ,maux)) 174 (declare (type ,maux ,type)) 168 175 (,merge-sort-call ,msequence ,mstart ,mend ,mpredicate ,mkey ,maux nil)))))) 169 176
Note: See TracChangeset
for help on using the changeset viewer.