Codebase list cafeobj / 677090e
Calm down aggressive sbcl compiler. tswd 5 years ago
1 changed file(s) with 6 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
201201
202202 (defmacro match-acz-state-zero-matches (state__) `(svref ,state__ 26))
203203
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
209204 ;;; the following is used only when we boil it down to a single var on left.
210205 ;;; it is only for performance enhancement...
211206 ;;;
212207 (defstruct trivial-match-ACZ-state
213208 (sys nil)
214209 (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)))
215215
216216 ;;; small utility. Side effect.
217217 (defmacro match-ACZ-Rotate-Left (?**array ?**m*)
10111011 ;;; ACZ Next State
10121012
10131013 (defun match-ACZ-next-state (state)
1014 (declare (type simple-vector state)
1014 (declare (type (or simple-vector trivial-match-acz-state) state)
10151015 (optimize (speed 3) (safety 0)))
10161016 (if (trivial-match-ACZ-state-p state)
10171017 (if (trivial-match-ACZ-state-no-more-p state)