From dad6c6dec45074b4d0eaf909b7ea800b0db67c88 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Mon, 13 Jan 2014 09:18:32 -0800 Subject: [PATCH] Add float optizations back (but only on floats). --- .../typed-racket/optimizer/float.rkt | 16 +++++++---- .../typed-racket/optimizer/tests/expt.rkt | 5 ++-- .../tests/invalid-inexact-complex-parts.rkt | 1 + .../optimizer/tests/invalid-log-complex.rkt | 3 +- .../typed-racket/optimizer/tests/pr13468.rkt | 28 +++++++++++++------ 5 files changed, 36 insertions(+), 17 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float.rkt index 885e9800bb..9c413e787b 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float.rkt @@ -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 /) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/expt.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/expt.rkt index 67b00be61c..f74021514e 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/expt.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/expt.rkt @@ -1,7 +1,8 @@ #;#; #<