Extended type signatures for addition.
This commit is contained in:
parent
06b636b2e3
commit
e8c42cd20c
|
@ -97,7 +97,9 @@
|
||||||
(list (->* (list) -InexactComplex -InexactComplex))
|
(list (->* (list) -InexactComplex -InexactComplex))
|
||||||
(list (->* (list) N N))))]
|
(list (->* (list) N N))))]
|
||||||
[+ (apply cl->*
|
[+ (apply cl->*
|
||||||
(append (for/list ([t (list -Pos -Nat -Integer -ExactRational -Flonum)]) (->* (list) t t))
|
(append (list (->* (list -Pos) -Nat -Pos))
|
||||||
|
(list (->* (list -Nat) -Pos -Pos))
|
||||||
|
(for/list ([t (list -Nat -Integer -ExactRational -Flonum)]) (->* (list) t t))
|
||||||
;; special cases for promotion to inexact, not exhaustive
|
;; special cases for promotion to inexact, not exhaustive
|
||||||
;; valid for + and -, but not for * and /, since (* <float> 0) is exact 0 (i.e. not a float)
|
;; valid for + and -, but not for * and /, since (* <float> 0) is exact 0 (i.e. not a float)
|
||||||
(list (->* (list -Flonum) -Real -Flonum))
|
(list (->* (list -Flonum) -Real -Flonum))
|
||||||
|
@ -311,7 +313,10 @@
|
||||||
[unsafe-flsqrt fl-unop]
|
[unsafe-flsqrt fl-unop]
|
||||||
[unsafe-fx->fl (-Integer . -> . -Flonum)]
|
[unsafe-fx->fl (-Integer . -> . -Flonum)]
|
||||||
|
|
||||||
[unsafe-fx+ fx-op]
|
[unsafe-fx+ (cl->* (-Pos -Nat . -> . -PositiveFixnum)
|
||||||
|
(-Nat -Pos . -> . -PositiveFixnum)
|
||||||
|
(-Nat -Nat . -> . -NonnegativeFixnum)
|
||||||
|
(-Integer -Integer . -> . -Fixnum))]
|
||||||
[unsafe-fx- fx-intop]
|
[unsafe-fx- fx-intop]
|
||||||
[unsafe-fx* fx-op]
|
[unsafe-fx* fx-op]
|
||||||
[unsafe-fxquotient fx-intop]
|
[unsafe-fxquotient fx-intop]
|
||||||
|
@ -336,7 +341,10 @@
|
||||||
|
|
||||||
;; scheme/fixnum
|
;; scheme/fixnum
|
||||||
|
|
||||||
[fx+ fx-op]
|
[fx+ (cl->* (-Pos -Nat . -> . -PositiveFixnum)
|
||||||
|
(-Nat -Pos . -> . -PositiveFixnum)
|
||||||
|
(-Nat -Nat . -> . -NonnegativeFixnum)
|
||||||
|
(-Integer -Integer . -> . -Fixnum))]
|
||||||
[fx- fx-intop]
|
[fx- fx-intop]
|
||||||
[fx* fx-op]
|
[fx* fx-op]
|
||||||
[fxquotient fx-intop]
|
[fxquotient fx-intop]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user