# Math::Random
Generates a pseudo-random number in the range [0.0, 1.0) on each rising edge of the trigger.
Math::Random
T
O
# Inputs
| ID | Abbrev | Name | Type | Default | Description |
|---|---|---|---|---|---|
trigger | T | Trigger | BOOLEAN | false | Rising edge generates a new random number. |
# Outputs
| ID | Abbrev | Name | Type | Default | Description |
|---|---|---|---|---|---|
output | O | Output | NUMBER | 0 | Random number in the range [0.0, 1.0). |
# State
| ID | Name | Type | Default | Unit | Description |
|---|---|---|---|---|---|
prev_trigger | Previous trigger | BOOLEAN | false | Previous trigger value for rising edge detection. |
# Source Code
View Volang source
channel = input::channel()
value = input::value()
if (channel == "trigger") {
prev_trigger = state::get("prev_trigger")
if (value and !prev_trigger) {
output::set("output", math::random())
}
state::set("prev_trigger", value)
}
