[{"name":"WideFloat","comment":" The definitions and functionalities of `WideFloat` type (which is explained in README.md).\n\n\n# Types\n\n@docs WideFloat, Content\n\n\n# Creation\n\n@docs create, fromFloat\n\n\n# Checks\n\n@docs isZero, isLargerThan, isSmallerThan, isEqualTo\n\n\n# Calcuration\n\n@docs add, differenceFrom, multiply, multiplyFloat, dividedBy\n\n\n# Output\n\n@docs proportionOf, getInternal, toString\n\n","unions":[{"name":"WideFloat","comment":" Opaque type that represents floating point number with 32 exponent bits and 52 significand bits.\n","args":[],"cases":[]}],"aliases":[{"name":"Content","comment":" Record type that represents inner content of `WideFloat`.\n","args":[],"type":"{ base2exponent : Basics.Int, significand : Basics.Float }"}],"values":[{"name":"add","comment":" adds two `WideFloat`s.\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 100\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 99\n            , significand = 1\n            }\n\n    add w1 w2 --> create { base2exponent = 100, significand = 1.5 }\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> WideFloat.WideFloat"},{"name":"create","comment":" Creates a `WideFloat` value from specified exponent and significand. If the absolute value of given significand is greater 2 or less than 1, _n_ is added to the exponent and _2^(-n)_ is multiplied to the significand where _n_ denote `floor (logBase 2 (abs significand))`\n\n    create { base2exponent = 0, significand = 10 }\n        == create { base2exponent = 3, significand = 1.25 }\n        --> True\n\n","type":"WideFloat.Content -> WideFloat.WideFloat"},{"name":"differenceFrom","comment":" Subtracts `WideFloat` value given as the first parameter from the second. Reads naturally when used with pipe(`|>`).\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 100\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 99\n            , significand = 1.75\n            }\n\n    w1 |> differenceFrom w2 --> create { base2exponent = 97, significand = 1.0 }\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> WideFloat.WideFloat"},{"name":"dividedBy","comment":" Returns ratio between to `WideFloat`s. Reads naturally when used with pipe(`|>`).\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 100\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 99\n            , significand = 1.6\n            }\n\n    w1 |> dividedBy w2\n        |> differenceFrom ( create { base2exponent = 0, significand = 1.25})\n        |> isSmallerThan ( create { base2exponent = -30, significand = 1})--> True\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> WideFloat.WideFloat"},{"name":"fromFloat","comment":" Creates a `WideFloat` value from specified float\n\n    fromFloat (1024.0 * 1024.0 * 1024.0 * 1024.0)\n        == create { base2exponent = 40, significand = 1 }\n        --> True\n\n","type":"Basics.Float -> WideFloat.WideFloat"},{"name":"getInternal","comment":" Returns a record representing the inner content of `WideFloat`.\nInverse function of `create` (when significand is specified properly).\n\n    content : { base2exponent : Int, significand : Float}\n    content =\n        { base2exponent = 1000, significand = 1.234 }\n\n\n    getInternal (create content)\n       == content --> True\n\n","type":"WideFloat.WideFloat -> WideFloat.Content"},{"name":"isEqualTo","comment":" Returns `True` if the value of first parameter is the same as the second parameter.\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 1000\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 50\n            , significand = 1\n            }\n            |> add\n                (create\n                    { base2exponent = 0\n                    , significand = 1\n                    }\n                )\n\n    w1 |> isEqualTo w1 --> True\n\n    w1 |> isEqualTo w2 --> False\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> Basics.Bool"},{"name":"isLargerThan","comment":" Returns `True` if the second parameter is larger than first one. Reads naturally when used with pipe operator(`|>`).\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 1000\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 999\n            , significand = 1.999\n            }\n\n    w1 |> isLargerThan w2 --> True\n\n    w2 |> isLargerThan w1 --> False\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> Basics.Bool"},{"name":"isSmallerThan","comment":" Returns `True` if the second parameter is smaller than first one. Reads naturally when used with pipe operator(`|>`).\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 1000\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 999\n            , significand = 1.999\n            }\n\n    w1 |> isSmallerThan w2 --> False\n\n    w2 |> isSmallerThan w1 --> True\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> Basics.Bool"},{"name":"isZero","comment":" Returns `True` if the parameter is recognized as zero in floating point precision.\n\n    fromFloat 1\n        |> add\n            ( create\n                { base2exponent = 100\n                , significand = 1\n                }\n            )\n        |> differenceFrom\n            ( create\n                { base2exponent = 100\n                , significand = 1\n                }\n            )\n        |> isZero --> True\n\n\n    fromFloat 1\n        |> add\n            ( create\n                { base2exponent = 50\n                , significand = 1\n                }\n            )\n        |> differenceFrom\n            ( create\n                { base2exponent = 50\n                , significand = 1\n                }\n            )\n        |> isZero --> False\n\n","type":"WideFloat.WideFloat -> Basics.Bool"},{"name":"multiply","comment":" Multiplies two `WideFloat`s.\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 100\n            , significand = 1.5\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 200\n            , significand = 1.75\n            }\n\n    multiply w1 w2 --> create { base2exponent = 301, significand = 1.3125 }\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> WideFloat.WideFloat"},{"name":"multiplyFloat","comment":" multiplies a `Float` value on a `WideFloat` value.\n\n    w : WideFloat\n    w =\n        create\n            { base2exponent = 100\n            , significand = 1\n            }\n\n    multiplyFloat 3 w --> create { base2exponent = 101, significand = 1.5 }\n\n","type":"Basics.Float -> WideFloat.WideFloat -> WideFloat.WideFloat"},{"name":"proportionOf","comment":" Returns proportion of the first parameter in the sum of first and second parameters.\n\n    w1 : WideFloat\n    w1 =\n        create\n            { base2exponent = 100\n            , significand = 1\n            }\n\n    w2 : WideFloat\n    w2 =\n        create\n            { base2exponent = 99\n            , significand = 1\n            }\n\n    proportionOf w1 w2 == 2.0 / 3.0 --> True\n\n","type":"WideFloat.WideFloat -> WideFloat.WideFloat -> Basics.Float"},{"name":"toString","comment":" Returns a `String` value representing the base 10 expression of a `WideFloat`. You can specify how many digits is shown after decimal point as the first parameter. The result may be a little less precise than other calcurations implemented in this module.\n\n    create\n        { base2exponent = 2\n        , significand = 1\n        }\n        |> toString 3 --> \"4.000e0\"\n\nIf you want some other formats, you can make your original `toString` function using `getInternal`.\n\n","type":"Basics.Int -> WideFloat.WideFloat -> String.String"}],"binops":[]}]