Summary
Types
Anything compatible with Curves.define_bezier/2.
A list of probabilities
See function docs for details.
The values to be randomly picked from.
A list of floats, representing percentages, that should add up to 1.0
A float between 0.0, and 1.0
Due to floating point precision problems, we must allow a certain amount of incorrectness. Usually this is a very small number like 1.0e-10 (i.e. 0.0000000001)
The weight, as given by the end user, which will influence the randomization.
Types
Anything compatible with Curves.define_bezier/2.
@type index() :: pos_integer()
@type indexed_probabilities() :: [indexed_probability()]
A list of probabilities
@type indexed_probability() :: {probability(), index()}
@type opts() :: keyword()
See function docs for details.
@type outcomes() :: [...] | Range.t()
The values to be randomly picked from.
@type probabilities() :: [probability()]
A list of floats, representing percentages, that should add up to 1.0
@type probability() :: float()
A float between 0.0, and 1.0
@type tolerance() :: float()
Due to floating point precision problems, we must allow a certain amount of incorrectness. Usually this is a very small number like 1.0e-10 (i.e. 0.0000000001)
@type weight_spec() :: %{ :target => any(), required(:amount | :weight) => number(), optional(:left_dist) => integer(), optional(:right_dist) => integer(), optional(:radius) => integer(), optional(:curve) => curve_spec() }
The weight, as given by the end user, which will influence the randomization.