diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/type/unit.lux | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/stdlib/source/lux/type/unit.lux b/stdlib/source/lux/type/unit.lux index dd8b467bf..dbf356488 100644 --- a/stdlib/source/lux/type/unit.lux +++ b/stdlib/source/lux/type/unit.lux @@ -11,7 +11,7 @@ ["s" code (#+ Parser)]]] [data [number - ["r" ratio (#+ Ratio)]] + ["." ratio (#+ Ratio)]] [text ["%" format (#+ format)]]] ["." macro @@ -95,7 +95,7 @@ (syntax: #export (scale: {export csr.export} {name s.local-identifier} - {(^slots [#r.numerator #r.denominator]) ratio^} + {(^slots [#ratio.numerator #ratio.denominator]) ratio^} {annotations (p.default cs.empty-annotations csr.annotations)}) (let [g!scale (code.local-identifier name)] (wrap (list (` (type: (~+ (csw.export export)) ((~ g!scale) (~' u)) @@ -144,9 +144,8 @@ (def: #export (re-scale from to quantity) (All [si so u] (-> (Scale si) (Scale so) (Qty (si u)) (Qty (so u)))) - (let [[numerator denominator] (:: r.number / - (:: from ratio) - (:: to ratio))] + (let [[numerator denominator] (ratio./ (:: from ratio) + (:: to ratio))] (|> quantity out (i/* (.int numerator)) |