From 53f7550b51315dcad8dc29ca727355fa861fb01a Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Mon, 19 Jul 2010 11:50:39 -0400 Subject: [PATCH] Added type signatures for operations on inexact complexes and floats. original commit: a31d7b60c8e6911f7b77c3a6f96af2c37da36b9e --- collects/typed-scheme/private/base-env-numeric.rkt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/collects/typed-scheme/private/base-env-numeric.rkt b/collects/typed-scheme/private/base-env-numeric.rkt index b709fbb7..af0a873f 100644 --- a/collects/typed-scheme/private/base-env-numeric.rkt +++ b/collects/typed-scheme/private/base-env-numeric.rkt @@ -240,6 +240,8 @@ (list (->* (list -Pos) -Flonum -Flonum)) (list (->* (list -Flonum) -Pos -Flonum)) (list (->* (list) -Real -Real)) + (list (->* (list -Flonum) -InexactComplex -InexactComplex)) + (list (->* (list -InexactComplex) -Flonum -InexactComplex)) (list (->* (list) -InexactComplex -InexactComplex)) (list (->* (list) N N))))] [+ (apply cl->* @@ -253,8 +255,8 @@ (list (->* (list -Flonum) -Real -Flonum)) (list (->* (list -Real -Flonum) -Real -Flonum)) (list (->* (list) -Real -Real)) - (list (->* (list -Real) -InexactComplex -InexactComplex)) - (list (->* (list -InexactComplex) -Real -InexactComplex)) + (list (->* (list N) -InexactComplex -InexactComplex)) + (list (->* (list -InexactComplex) N -InexactComplex)) (list (->* (list) -InexactComplex -InexactComplex)) (list (->* (list) N N))))] @@ -264,8 +266,8 @@ (list (->* (list -Flonum) -Real -Flonum)) (list (->* (list -Real -Flonum) -Real -Flonum)) (list (->* (list -Real) -Real -Real)) - (list (->* (list -Real) -InexactComplex -InexactComplex)) - (list (->* (list -InexactComplex) -Real -InexactComplex)) + (list (->* (list N) -InexactComplex -InexactComplex)) + (list (->* (list -InexactComplex) N -InexactComplex)) (list (->* (list -InexactComplex) -InexactComplex -InexactComplex)) (list (->* (list N) N N))))] [/ (apply cl->* @@ -275,6 +277,8 @@ ;; only exact 0 as first argument can cause the result of a division involving inexacts to be exact (list (->* (list -Flonum) -Real -Flonum)) (list (->* (list -Real) -Real -Real)) + (list (->* (list -Flonum) -InexactComplex -InexactComplex)) + (list (->* (list -InexactComplex) -Flonum -InexactComplex)) (list (->* (list -InexactComplex) -InexactComplex -InexactComplex)) (list (->* (list N) N N))))]