diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/library/lux/math/number/ratio.lux | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/stdlib/source/library/lux/math/number/ratio.lux b/stdlib/source/library/lux/math/number/ratio.lux index ecfdf30a0..ca122b00d 100644 --- a/stdlib/source/library/lux/math/number/ratio.lux +++ b/stdlib/source/library/lux/math/number/ratio.lux @@ -33,7 +33,7 @@ 1 (#.Some (get@ #numerator value)) _ #.None)) -(def: (normalize (^slots [#numerator #denominator])) +(def: (normal (^slots [#numerator #denominator])) (-> Ratio Ratio) (let [common (n.gcd numerator denominator)] {#numerator (n./ common numerator) @@ -42,11 +42,11 @@ (syntax: #export (ratio numerator {?denominator (<>.maybe <code>.any)}) {#.doc (doc "Rational literals." (ratio numerator denominator) - "The denominator can be omitted if it's 1." + "The denominator can be omitted if it is 1." (ratio numerator))} - (wrap (list (` ((~! ..normalize) {#..numerator (~ numerator) - #..denominator (~ (maybe.default (' 1) - ?denominator))}))))) + (wrap (list (` ((~! ..normal) {#..numerator (~ numerator) + #..denominator (~ (maybe.default (' 1) + ?denominator))}))))) (def: #export (= parameter subject) (-> Ratio Ratio Bit) @@ -60,7 +60,7 @@ (def: = ..=)) -(def: (equalize parameter subject) +(def: (equalized parameter subject) (-> Ratio Ratio [Nat Nat]) [(n.* (get@ #denominator subject) (get@ #numerator parameter)) @@ -69,7 +69,7 @@ (def: #export (< parameter subject) (-> Ratio Ratio Bit) - (let [[parameter' subject'] (..equalize parameter subject)] + (let [[parameter' subject'] (..equalized parameter subject)] (n.< parameter' subject'))) (def: #export (<= parameter subject) @@ -94,33 +94,33 @@ (def: #export (+ parameter subject) (-> Ratio Ratio Ratio) - (let [[parameter' subject'] (..equalize parameter subject)] - (normalize [(n.+ parameter' subject') - (n.* (get@ #denominator parameter) - (get@ #denominator subject))]))) + (let [[parameter' subject'] (..equalized parameter subject)] + (normal [(n.+ parameter' subject') + (n.* (get@ #denominator parameter) + (get@ #denominator subject))]))) (def: #export (- parameter subject) (-> Ratio Ratio Ratio) - (let [[parameter' subject'] (..equalize parameter subject)] - (normalize [(n.- parameter' subject') - (n.* (get@ #denominator parameter) - (get@ #denominator subject))]))) + (let [[parameter' subject'] (..equalized parameter subject)] + (normal [(n.- parameter' subject') + (n.* (get@ #denominator parameter) + (get@ #denominator subject))]))) (def: #export (* parameter subject) (-> Ratio Ratio Ratio) - (normalize [(n.* (get@ #numerator parameter) - (get@ #numerator subject)) - (n.* (get@ #denominator parameter) - (get@ #denominator subject))])) + (normal [(n.* (get@ #numerator parameter) + (get@ #numerator subject)) + (n.* (get@ #denominator parameter) + (get@ #denominator subject))])) (def: #export (/ parameter subject) (-> Ratio Ratio Ratio) - (let [[parameter' subject'] (..equalize parameter subject)] - (normalize [subject' parameter']))) + (let [[parameter' subject'] (..equalized parameter subject)] + (normal [subject' parameter']))) (def: #export (% parameter subject) (-> Ratio Ratio Ratio) - (let [[parameter' subject'] (..equalize parameter subject) + (let [[parameter' subject'] (..equalized parameter subject) quot (n./ parameter' subject')] (..- (update@ #numerator (n.* quot) parameter) subject))) @@ -144,8 +144,8 @@ (do try.monad [numerator (n\decode num) denominator (n\decode denom)] - (wrap (normalize {#numerator numerator - #denominator denominator}))) + (wrap (normal {#numerator numerator + #denominator denominator}))) #.None (#.Left (text\compose "Invalid syntax for ratio: " input))))) |