Add float optizations back (but only on floats).
This commit is contained in:
parent
70d9f4bdb6
commit
dad6c6dec4
|
@ -17,16 +17,20 @@
|
|||
(define binary-float-ops
|
||||
(mk-float-tbl (list #'+ #'- #'* #'/ #'min #'max)))
|
||||
(define binary-float-comps
|
||||
(dict-set
|
||||
(dict-set
|
||||
(dict-set*
|
||||
(mk-float-tbl (list #'= #'<= #'< #'> #'>=))
|
||||
;; not a comparison, but takes 2 floats and does not return a float,
|
||||
;; unlike binary-float-ops
|
||||
#'make-rectangular #'unsafe-make-flrectangular)
|
||||
#'make-flrectangular #'unsafe-make-flrectangular))
|
||||
#'make-rectangular #'unsafe-make-flrectangular
|
||||
#'make-flrectangular #'unsafe-make-flrectangular))
|
||||
(define unary-float-ops
|
||||
(mk-float-tbl (list #'abs #'sin #'cos #'tan #'asin #'acos #'atan #'log #'exp
|
||||
#'sqrt #'round #'floor #'ceiling #'truncate)))
|
||||
(dict-set*
|
||||
(mk-float-tbl (list #'abs #'sin #'cos #'tan #'asin #'acos #'atan #'log #'exp
|
||||
#'sqrt #'round #'floor #'ceiling #'truncate))
|
||||
#'magnitude #'unsafe-flabs
|
||||
#'real-part #'#%expression
|
||||
#'flreal-part #'#%expression
|
||||
#'unsafe-flreal-part #'#%experession))
|
||||
|
||||
(define-literal-syntax-class -)
|
||||
(define-literal-syntax-class /)
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: expt.rkt 14:13 (expt (sin 0.25) 1.0) -- unexpected complex type
|
||||
TR opt: expt.rkt 14:19 (sin 0.25) -- unary float
|
||||
TR info: expt.rkt 15:2 (real-part (expt (sin 0.25) 1.0)) -- exact real arith
|
||||
TR missed opt: expt.rkt 15:13 (expt (sin 0.25) 1.0) -- unexpected complex type
|
||||
TR opt: expt.rkt 15:19 (sin 0.25) -- unary float
|
||||
END
|
||||
""
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-inexact-complex-parts.rkt 12:0 (real-part 1+2i) -- exact real arith
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: invalid-log-complex.rkt 13:11 (log (ann 2.0 Float)) -- unexpected complex type
|
||||
TR info: invalid-log-complex.rkt 14:0 (real-part (log (ann 2.0 Float))) -- exact real arith
|
||||
TR missed opt: invalid-log-complex.rkt 14:11 (log (ann 2.0 Float)) -- unexpected complex type
|
||||
END
|
||||
#<<END
|
||||
0.6931471805599453
|
||||
|
|
|
@ -1,13 +1,25 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: pr13468.rkt 68:5 (/ (ann 0.0+0.0i Float-Complex) (ann 1 Number)) -- Float-Complex division, potential exact 0s on the rhss -- caused by: 68:42 1
|
||||
TR missed opt: pr13468.rkt 71:5 (expt (ann -5.0 Flonum) (ann 2.0 Flonum)) -- unexpected complex type
|
||||
TR opt: pr13468.rkt 66:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 66:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 66:5 (- (ann 6.0+2.3i Float-Complex)) -- unboxed unary float complex
|
||||
TR opt: pr13468.rkt 67:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 67:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 67:5 (/ (ann 6.0+2.3i Float-Complex)) -- unboxed unary float complex
|
||||
TR missed opt: pr13468.rkt 80:5 (/ (ann 0.0+0.0i Float-Complex) (ann 1 Number)) -- Float-Complex division, potential exact 0s on the rhss -- caused by: 80:42 1
|
||||
TR missed opt: pr13468.rkt 83:5 (expt (ann -5.0 Flonum) (ann 2.0 Flonum)) -- unexpected complex type
|
||||
TR opt: pr13468.rkt 104:5 (magnitude (ann 0.0 Flonum-Zero)) -- unary float
|
||||
TR opt: pr13468.rkt 105:5 (magnitude (ann 6.0 Positive-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 106:5 (magnitude (ann 6.0 Nonnegative-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 107:5 (magnitude (ann -6.0 Nonpositive-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 108:5 (magnitude (ann -6.0 Negative-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 109:5 (magnitude (ann 6.0 Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 130:5 (real-part (ann 0.0 Flonum-Zero)) -- unary float
|
||||
TR opt: pr13468.rkt 131:5 (real-part (ann 6.0 Positive-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 132:5 (real-part (ann 6.0 Nonnegative-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 133:5 (real-part (ann -6.0 Nonpositive-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 134:5 (real-part (ann -6.0 Negative-Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 135:5 (real-part (ann 6.0 Flonum)) -- unary float
|
||||
TR opt: pr13468.rkt 78:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 78:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 78:5 (- (ann 6.0+2.3i Float-Complex)) -- unboxed unary float complex
|
||||
TR opt: pr13468.rkt 79:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 79:13 6.0+2.3i -- unboxed literal
|
||||
TR opt: pr13468.rkt 79:5 (/ (ann 6.0+2.3i Float-Complex)) -- unboxed unary float complex
|
||||
END
|
||||
#<<END
|
||||
-6.0-2.3i
|
||||
|
|
Loading…
Reference in New Issue
Block a user