From 604997de6b286fc68139947c93dbef1951fe4f03 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Tue, 17 Sep 2013 08:35:57 -0700 Subject: [PATCH] Correct unary minus in complex numbers. original commit: 161da0a2eb3393f3e805de7ee27ab6641e65070c --- .../typed-racket/optimizer/float-complex.rkt | 4 ++-- .../optimizer/tests/unary-minus-float-complex.rkt | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/unary-minus-float-complex.rkt diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float-complex.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float-complex.rkt index af54affb..cfa39cec 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float-complex.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/optimizer/float-complex.rkt @@ -144,8 +144,8 @@ #:do [(log-unboxing-opt "unboxed unary float complex")] #:with (bindings ...) #`(c1.bindings ... - [(real-binding) (unsafe-fl- 0.0 c1.real-binding)] - [(imag-binding) (unsafe-fl- 0.0 c1.imag-binding)])) + [(real-binding) (unsafe-fl* -1.0 c1.real-binding)] + [(imag-binding) (unsafe-fl* -1.0 c1.imag-binding)])) (pattern (#%plain-app op:*^ c1:unboxed-float-complex-opt-expr diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/unary-minus-float-complex.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/unary-minus-float-complex.rkt new file mode 100644 index 00000000..44c51ce1 --- /dev/null +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/optimizer/tests/unary-minus-float-complex.rkt @@ -0,0 +1,13 @@ +#;#; +#<