11 lines
308 B
Elm
11 lines
308 B
Elm
|
module Util exposing (..)
|
||
|
|
||
|
import Numerics exposing (Rational(..))
|
||
|
import BigInt exposing (BigInt(..))
|
||
|
|
||
|
floatToRatio : Int -> Float -> Rational
|
||
|
floatToRatio accuracy f =
|
||
|
let
|
||
|
acc = BigInt.fromInt accuracy
|
||
|
in
|
||
|
Numerics.over (f * Numerics.bigintToFloat acc |> floor |> BigInt.fromInt) acc
|