Changeset 11852
- Timestamp:
- 05/10/09 11:47:29 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r11851 r11852 6166 6166 (and high1 high2 (- high1 high2)))) 6167 6167 6168 (defun derive-compiler-types (args op) 6169 (flet ((combine (x y) 6170 (derive-type-numeric-op op x y))) 6171 (reduce #'combine (cdr args) :key #'derive-compiler-type 6172 :initial-value (derive-compiler-type (car args))))) 6173 6168 6174 (defknown derive-type-minus (t) t) 6169 6175 (defun derive-type-minus (form) … … 6174 6180 zero-integer-type 6175 6181 (derive-compiler-type (%car args)))) 6176 (2 (flet ((combine (x y) 6177 (derive-type-numeric-op op x y))) 6178 (reduce #'combine (cdr args) :key #'derive-compiler-type 6179 :initial-value (derive-compiler-type (car args)))))))) 6180 6182 (2 (derive-compiler-types args op))))) 6181 6183 6182 6184 (define-int-bounds-derivation + (low1 high1 low2 high2) … … 6190 6192 (if (null args) 6191 6193 zero-integer-type 6192 (flet ((combine (x y) 6193 (derive-type-numeric-op op x y))) 6194 (reduce #'combine (cdr args) :key #'derive-compiler-type 6195 :initial-value (derive-compiler-type (car args))))))) 6194 (derive-compiler-types args op)))) 6196 6195 6197 6196 (define-int-bounds-derivation * (low1 high1 low2 high2) … … 6219 6218 (if (null args) 6220 6219 one-integer-type 6221 (flet ((combine (x y) 6222 (derive-type-numeric-op op x y))) 6223 (reduce #'combine (cdr args) :key #'derive-compiler-type 6224 :initial-value (derive-compiler-type (car args))))))) 6220 (derive-compiler-types args op)))) 6225 6221 6226 6222 (define-int-bounds-derivation max (low1 low2 high1 high2) … … 6232 6228 (let ((op (car form)) 6233 6229 (args (cdr form))) 6234 (flet ((combine (x y) 6235 (derive-type-numeric-op op x y))) 6236 (reduce #'combine (cdr args) :key #'derive-compiler-type 6237 :initial-value (derive-compiler-type (car args)))))) 6230 (derive-compiler-types args op))) 6238 6231 6239 6232 (define-int-bounds-derivation min (low1 high1 low2 high2) … … 6245 6238 (let ((op (car form)) 6246 6239 (args (cdr form))) 6247 (flet ((combine (x y) 6248 (derive-type-numeric-op op x y))) 6249 (reduce #'combine (cdr args) :key #'derive-compiler-type 6250 :initial-value (derive-compiler-type (car args)))))) 6240 (derive-compiler-types args op))) 6251 6241 6252 6242 ;; read-char &optional input-stream eof-error-p eof-value recursive-p => char
Note: See TracChangeset
for help on using the changeset viewer.