[{"name":"FastBenchmark.Backend","comment":"\n\n\n# Main application\n\n@docs app\n\n\n# Types\n\n@docs Msg, Ports, Program\n\n","unions":[{"name":"Msg","comment":" The message type for the backend.\n","args":["graph","function"],"cases":[]}],"aliases":[{"name":"Ports","comment":" Ports needed for the backend.\n","args":["msg"],"type":"{ fromFrontend : (Codec.Value -> msg) -> Platform.Sub.Sub msg, toFrontend : Codec.Value -> Platform.Cmd.Cmd msg }"},{"name":"Program","comment":" A convenient type for a backend `Program`.\n","args":["graph","function"],"type":"Platform.Program {} {} (FastBenchmark.Backend.Msg graph function)"}],"values":[{"name":"app","comment":" Main backend app.\n","type":"FastBenchmark.Types.Config graph function -> FastBenchmark.Backend.Ports (FastBenchmark.Backend.Msg graph function) -> FastBenchmark.Backend.Program graph function"}],"binops":[]},{"name":"FastBenchmark.Frontend","comment":"\n\n\n# Main application\n\n@docs app\n\n\n# Types\n\n@docs Flags, Msg, Model, Ports, Program\n\n","unions":[{"name":"Model","comment":" The frontend model.\n","args":["graph","function"],"cases":[]},{"name":"Msg","comment":" The message type for the frontend.\n","args":["graph","function"],"cases":[]}],"aliases":[{"name":"Flags","comment":" Flags needed for the frontend.\n","args":[],"type":"{ workersCount : Basics.Int }"},{"name":"Ports","comment":" Ports needed for the frontend.\n","args":["msg"],"type":"{ terminateAll : {} -> Platform.Cmd.Cmd msg, fromBackend : ({ index : Basics.Int, data : Codec.Value } -> msg) -> Platform.Sub.Sub msg, toBackend : { index : Basics.Int, data : Codec.Value } -> Platform.Cmd.Cmd msg }"},{"name":"Program","comment":" A convenient type for a frontend `Program`.\n","args":["graph","function"],"type":"Platform.Program FastBenchmark.Frontend.Flags (FastBenchmark.Frontend.Model graph function) (FastBenchmark.Frontend.Msg graph function)"}],"values":[{"name":"app","comment":" Main frontend app.\n","type":"FastBenchmark.Types.Config graph function -> FastBenchmark.Frontend.Ports (FastBenchmark.Frontend.Msg graph function) -> FastBenchmark.Frontend.Program graph function"}],"binops":[]},{"name":"FastBenchmark.Types","comment":"\n\n\n# Types\n\n@docs Config, Stats, Param\n\n\n# Messages\n\n@docs ToFrontend, ToBackend, Index\n\n\n# Codecs\n\n@docs toFrontendCodec, toBackendCodec\n\n","unions":[{"name":"ToBackend","comment":" Message that gets sent to the backend.\n","args":["graph","function"],"cases":[["TBParams",[]],["TBRun",["FastBenchmark.Types.Param graph function"]]]},{"name":"ToFrontend","comment":" Message that gets sent to the frontend.\n","args":["graph","function"],"cases":[["TFParams",["{ timeout : Maybe.Maybe Basics.Float, params : List.List (FastBenchmark.Types.Param graph function) }"]],["TFResult",["FastBenchmark.Types.Param graph function","Result.Result String.String FastBenchmark.Types.Stats"]]]}],"aliases":[{"name":"Config","comment":" All the information needed to run a benchmark.\n","args":["graph","function"],"type":"{ graphToString : graph -> String.String, graphCodec : Codec.Codec graph, functionToString : function -> String.String, functionCodec : Codec.Codec function, graphs : List.List graph, functions : List.List function, sizes : List.List Basics.Int, toFunction : FastBenchmark.Types.Param graph function -> () -> (), timeout : Maybe.Maybe Basics.Float }"},{"name":"Index","comment":" Index of the Web Worker.\n","args":[],"type":"Basics.Int"},{"name":"Param","comment":" Parameters needed to measure the timing.\n","args":["graph","function"],"type":"{ graph : graph, function : function, size : Basics.Int }"},{"name":"Stats","comment":" Statistics un run times.\n","args":[],"type":"{ firstQuartile : Basics.Float, median : Basics.Float, thirdQuartile : Basics.Float, max : Basics.Float, min : Basics.Float, outliers : List.List Basics.Float }"}],"values":[{"name":"toBackendCodec","comment":" `Codec` used to send messages to the backend.\n","type":"FastBenchmark.Types.Config graph function -> Codec.Codec (FastBenchmark.Types.ToBackend graph function)"},{"name":"toFrontendCodec","comment":" `Codec` used to send messages to the frontend.\n","type":"FastBenchmark.Types.Config graph function -> Codec.Codec (FastBenchmark.Types.ToFrontend graph function)"}],"binops":[]}]