Changeset 11852 for trunk/abcl/src/org/armedbear/lisp/compilerpass2.lisp
 Timestamp:
 05/10/09 11:47:29 (14 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/abcl/src/org/armedbear/lisp/compilerpass2.lisp
r11851 r11852 6166 6166 (and high1 high2 ( high1 high2)))) 6167 6167 6168 (defun derivecompilertypes (args op) 6169 (flet ((combine (x y) 6170 (derivetypenumericop op x y))) 6171 (reduce #'combine (cdr args) :key #'derivecompilertype 6172 :initialvalue (derivecompilertype (car args))))) 6173 6168 6174 (defknown derivetypeminus (t) t) 6169 6175 (defun derivetypeminus (form) … … 6174 6180 zerointegertype 6175 6181 (derivecompilertype (%car args)))) 6176 (2 (flet ((combine (x y) 6177 (derivetypenumericop op x y))) 6178 (reduce #'combine (cdr args) :key #'derivecompilertype 6179 :initialvalue (derivecompilertype (car args)))))))) 6180 6182 (2 (derivecompilertypes args op))))) 6181 6183 6182 6184 (defineintboundsderivation + (low1 high1 low2 high2) … … 6190 6192 (if (null args) 6191 6193 zerointegertype 6192 (flet ((combine (x y) 6193 (derivetypenumericop op x y))) 6194 (reduce #'combine (cdr args) :key #'derivecompilertype 6195 :initialvalue (derivecompilertype (car args))))))) 6194 (derivecompilertypes args op)))) 6196 6195 6197 6196 (defineintboundsderivation * (low1 high1 low2 high2) … … 6219 6218 (if (null args) 6220 6219 oneintegertype 6221 (flet ((combine (x y) 6222 (derivetypenumericop op x y))) 6223 (reduce #'combine (cdr args) :key #'derivecompilertype 6224 :initialvalue (derivecompilertype (car args))))))) 6220 (derivecompilertypes args op)))) 6225 6221 6226 6222 (defineintboundsderivation max (low1 low2 high1 high2) … … 6232 6228 (let ((op (car form)) 6233 6229 (args (cdr form))) 6234 (flet ((combine (x y) 6235 (derivetypenumericop op x y))) 6236 (reduce #'combine (cdr args) :key #'derivecompilertype 6237 :initialvalue (derivecompilertype (car args)))))) 6230 (derivecompilertypes args op))) 6238 6231 6239 6232 (defineintboundsderivation min (low1 high1 low2 high2) … … 6245 6238 (let ((op (car form)) 6246 6239 (args (cdr form))) 6247 (flet ((combine (x y) 6248 (derivetypenumericop op x y))) 6249 (reduce #'combine (cdr args) :key #'derivecompilertype 6250 :initialvalue (derivecompilertype (car args)))))) 6240 (derivecompilertypes args op))) 6251 6241 6252 6242 ;; readchar &optional inputstream eoferrorp eofvalue recursivep => char
Note: See TracChangeset
for help on using the changeset viewer.