Calm down aggressive sbcl compiler.
tswd
5 years ago
201 | 201 | |
202 | 202 | (defmacro match-acz-state-zero-matches (state__) `(svref ,state__ 26)) |
203 | 203 | |
204 | (declaim (inline match-acz-state-p)) | |
205 | (#+GCL si::define-inline-function #-GCL defun match-acz-state-p (state) | |
206 | (and (vectorp state) | |
207 | (eq (svref state 25) 'acz-state))) | |
208 | ||
209 | 204 | ;;; the following is used only when we boil it down to a single var on left. |
210 | 205 | ;;; it is only for performance enhancement... |
211 | 206 | ;;; |
212 | 207 | (defstruct trivial-match-ACZ-state |
213 | 208 | (sys nil) |
214 | 209 | (no-more-p nil)) |
210 | ||
211 | (declaim (inline match-acz-state-p)) | |
212 | (defun match-acz-state-p (state) | |
213 | (and (vectorp state) | |
214 | (eq (svref state 25) 'acz-state))) | |
215 | 215 | |
216 | 216 | ;;; small utility. Side effect. |
217 | 217 | (defmacro match-ACZ-Rotate-Left (?**array ?**m*) |
1011 | 1011 | ;;; ACZ Next State |
1012 | 1012 | |
1013 | 1013 | (defun match-ACZ-next-state (state) |
1014 | (declare (type simple-vector state) | |
1014 | (declare (type (or simple-vector trivial-match-acz-state) state) | |
1015 | 1015 | (optimize (speed 3) (safety 0))) |
1016 | 1016 | (if (trivial-match-ACZ-state-p state) |
1017 | 1017 | (if (trivial-match-ACZ-state-no-more-p state) |