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)]
|
[(a*) (quotient 5 12)]
|
||||||
[(b*) (remainder 5 12)])
|
[(b*) (remainder 5 12)])
|
||||||
(+ a b a* b*))
|
(+ a b a* b*))
|
||||||
-Integer]
|
-Nat]
|
||||||
|
|
||||||
[tc-e (raise-type-error 'foo "bar" 5) (t:Un)]
|
[tc-e (raise-type-error 'foo "bar" 5) (t:Un)]
|
||||||
[tc-e (raise-type-error 'foo "bar" 7 (list 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)))]
|
[build-vector (-poly (a) (-Nat (-Nat . -> . a) . -> . (-vec a)))]
|
||||||
[vector-set! (-poly (a) (-> (-vec a) -Nat a -Void))]
|
[vector-set! (-poly (a) (-> (-vec a) -Nat a -Void))]
|
||||||
[vector-copy! (-poly (a) ((-vec a) -Nat (-vec a) [-Nat -Nat] . ->opt . -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)]))]
|
[(-Nat a) (-vec a)]))]
|
||||||
|
|
||||||
[peek-char
|
[peek-char
|
||||||
|
|
|
@ -101,10 +101,12 @@
|
||||||
(-> -Real -Real)
|
(-> -Real -Real)
|
||||||
(-> N N))]
|
(-> N N))]
|
||||||
|
|
||||||
[quotient (-Integer -Integer . -> . -Integer)]
|
[quotient (cl->* (-Nat -Nat . -> . -Nat)
|
||||||
[remainder (-Integer -Integer . -> . -Integer)]
|
(-Integer -Integer . -> . -Integer))]
|
||||||
[quotient/remainder
|
[remainder (cl->* (-Nat -Nat . -> . -Nat)
|
||||||
(make-Function (list (make-arr (list -Integer -Integer) (-values (list -Integer -Integer)))))]
|
(-Integer -Integer . -> . -Integer))]
|
||||||
|
[quotient/remainder (cl->* (-Nat -Nat . -> . (-values (list -Nat -Nat)))
|
||||||
|
(-Integer -Integer . -> . (-values (list -Integer -Integer))))]
|
||||||
|
|
||||||
;; exactness
|
;; exactness
|
||||||
[exact->inexact (cl->*
|
[exact->inexact (cl->*
|
||||||
|
@ -127,7 +129,9 @@
|
||||||
[numerator (-Real . -> . -Real)]
|
[numerator (-Real . -> . -Real)]
|
||||||
[denominator (-Real . -> . -Real)]
|
[denominator (-Real . -> . -Real)]
|
||||||
[rationalize (-Real -Real . -> . N)]
|
[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->*
|
[sqrt (cl->*
|
||||||
(-Nat . -> . -Real)
|
(-Nat . -> . -Real)
|
||||||
(N . -> . N))]
|
(N . -> . N))]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user