diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/library/lux/math/number/nat.lux | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/stdlib/source/library/lux/math/number/nat.lux b/stdlib/source/library/lux/math/number/nat.lux index 9ead2ee82..31537c887 100644 --- a/stdlib/source/library/lux/math/number/nat.lux +++ b/stdlib/source/library/lux/math/number/nat.lux @@ -74,24 +74,23 @@ (def: .public (* parameter subject) (-> Nat Nat Nat) - (:as Nat - ("lux i64 *" - (:as Int parameter) - (:as Int subject)))) + (.nat ("lux i64 *" + (.int parameter) + (.int subject)))) (def: .public (/ parameter subject) (-> Nat Nat Nat) - (if ("lux i64 <" +0 (:as Int parameter)) + (if ("lux i64 <" +0 (.int parameter)) (if (..< parameter subject) 0 1) (let [quotient (|> subject ("lux i64 right-shift" 1) - ("lux i64 /" (:as Int parameter)) + ("lux i64 /" (.int parameter)) ("lux i64 left-shift" 1)) flat ("lux i64 *" - (:as Int parameter) - (:as Int quotient)) + (.int parameter) + (.int quotient)) remainder ("lux i64 -" flat subject)] (if (..< parameter remainder) quotient @@ -101,15 +100,15 @@ (-> Nat Nat [Nat Nat]) (let [quotient (../ parameter subject) flat ("lux i64 *" - (:as Int parameter) - (:as Int quotient))] + (.int parameter) + (.int quotient))] [quotient ("lux i64 -" flat subject)])) (def: .public (% parameter subject) (-> Nat Nat Nat) (let [flat ("lux i64 *" - (:as Int parameter) - (:as Int (../ parameter subject)))] + (.int parameter) + (.int (../ parameter subject)))] ("lux i64 -" flat subject))) (def: .public (gcd a b) @@ -298,7 +297,7 @@ (let [output' ("lux text concat" (<to_character> ("lux i64 and" mask input)) output)] - (case (: Nat ("lux i64 right-shift" <shift> input)) + (case (is Nat ("lux i64 right-shift" <shift> input)) 0 output' |