-
- Downloads
This big of code causes CMUCL to spend huge amounts of time trying to
simplify the union of disjoint double-float types: (defun foo (arg) (declare (type double-double-float arg) (optimize (speed 3) (space 0))) (let* ((x arg) (xx 0w0) (k 0) (px (coerce k 'double-double-float)) (qx 0w0)) (declare (type double-double-float x xx px qx) (notinline poly-eval poly-eval-1)) (setf x (- (- x (* px log2-c1)) (* px log2-c2))) (+ x 0d0) )) Fix it: code/type.lisp: o Rename SIMPLIFY-BIG-INTEGER-UNION to SIMPLIFY-BIG-UNION o SIMPLIFY-BIG-UNION takes an extra arg to specify the resulting type. o Modify SIMPLIFY-UNIONS to handle float unions as well as integer unions. general-info/release-20a.txt: o Update
Loading
Please register or sign in to comment