Changed the types of some numerical operations to be closed on naturals.
This commit is contained in:
parent
56b94b1bdf
commit
2229173b82
|
@ -556,7 +556,7 @@
|
|||
[(a*) (quotient 5 12)]
|
||||
[(b*) (remainder 5 12)])
|
||||
(+ a b a* b*))
|
||||
-Integer]
|
||||
-Nat]
|
||||
|
||||
[tc-e (raise-type-error 'foo "bar" 5) (t:Un)]
|
||||
[tc-e (raise-type-error 'foo "bar" 7 (list 5)) (t:Un)]
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
[build-vector (-poly (a) (-Nat (-Nat . -> . a) . -> . (-vec a)))]
|
||||
[vector-set! (-poly (a) (-> (-vec a) -Nat a -Void))]
|
||||
[vector-copy! (-poly (a) ((-vec a) -Nat (-vec a) [-Nat -Nat] . ->opt . -Void))]
|
||||
[make-vector (-poly (a) (cl-> [(-Nat) (-vec -Integer)]
|
||||
[make-vector (-poly (a) (cl-> [(-Nat) (-vec -Nat)]
|
||||
[(-Nat a) (-vec a)]))]
|
||||
|
||||
[peek-char
|
||||
|
|
|
@ -101,10 +101,12 @@
|
|||
(-> -Real -Real)
|
||||
(-> N N))]
|
||||
|
||||
[quotient (-Integer -Integer . -> . -Integer)]
|
||||
[remainder (-Integer -Integer . -> . -Integer)]
|
||||
[quotient/remainder
|
||||
(make-Function (list (make-arr (list -Integer -Integer) (-values (list -Integer -Integer)))))]
|
||||
[quotient (cl->* (-Nat -Nat . -> . -Nat)
|
||||
(-Integer -Integer . -> . -Integer))]
|
||||
[remainder (cl->* (-Nat -Nat . -> . -Nat)
|
||||
(-Integer -Integer . -> . -Integer))]
|
||||
[quotient/remainder (cl->* (-Nat -Nat . -> . (-values (list -Nat -Nat)))
|
||||
(-Integer -Integer . -> . (-values (list -Integer -Integer))))]
|
||||
|
||||
;; exactness
|
||||
[exact->inexact (cl->*
|
||||
|
@ -127,7 +129,9 @@
|
|||
[numerator (-Real . -> . -Real)]
|
||||
[denominator (-Real . -> . -Real)]
|
||||
[rationalize (-Real -Real . -> . N)]
|
||||
[expt (cl->* (-Integer -Integer . -> . -Integer) (N N . -> . N))]
|
||||
[expt (cl->* (-Nat -Nat . -> . -Nat)
|
||||
(-Integer -Integer . -> . -Integer)
|
||||
(N N . -> . N))]
|
||||
[sqrt (cl->*
|
||||
(-Nat . -> . -Real)
|
||||
(N . -> . N))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user