aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/math/number/nat.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/math/number/nat.lux25
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'