View Source Moar.Random (Moar v1.56.2)

Generates random data.

Summary

Functions

Return a random float greater than or equal to min and less than max

Randomly increases or decreases number by a random amount up to percent of number. For example, Etc.Random.fuzz(100, 0.2) could return a number as low as 80.0 or as high as 120.0.

Returns a random integer between 0 and max.

Returns a base64- or base32-encoded random string of 32 characters. See Moar.Random.string/2.

Returns a base64- or base32-encoded random string of given length.

Types

@type encoding() :: :base32 | :base64

Functions

@spec float(number(), number()) :: float()

Return a random float greater than or equal to min and less than max

@spec fuzz(number(), number()) :: number()

Randomly increases or decreases number by a random amount up to percent of number. For example, Etc.Random.fuzz(100, 0.2) could return a number as low as 80.0 or as high as 120.0.

iex> n = Etc.Random.fuzz(100, 0.2)
iex> n <= 120 && n >= 80
true
iex> n > 120 || n <= 80
false
Link to this function

integer(max \\ 1_000_000_000)

View Source
@spec integer(max :: pos_integer()) :: pos_integer()

Returns a random integer between 0 and max.

@spec string(encoding :: encoding()) :: binary()

Returns a base64- or base32-encoded random string of 32 characters. See Moar.Random.string/2.

Link to this function

string(character_count \\ 32, encoding \\ :base64)

View Source
@spec string(character_count :: pos_integer(), encoding :: encoding()) :: binary()

Returns a base64- or base32-encoded random string of given length.

iex> Moar.Random.string()
"Sr/y4m/YiVSJcIgI5lG+76vMfaZ7KZ7c"
iex> Moar.Random.string(5)
"9pJrK"
iex> Moar.Random.string(5, :base32)
"AC53Z"