mirror of
https://github.com/peklaiho/madlisp.git
synced 2024-11-22 13:24:46 +00:00
remove coinflip, add randf, rand-seed
This commit is contained in:
parent
458d09c007
commit
9d2de20c1e
@ -444,8 +444,9 @@ floor | `(floor 2.5)` | `2` | Get the next lowest integer.
|
||||
ceil | `(ceil 2.5)` | `3` | Get the next highest integer.
|
||||
pow | `(pow 2 4)` | `16` | Raise the first argument to the power of the second argument.
|
||||
sqrt | `(sqrt 2)` | `1.41` | Calculate the square root.
|
||||
coinflip | `(coinflip)` | `true` | Return true or false with equal probability.
|
||||
rand | `(rand 5 10)` | `8` | Return a random integer between given min and max values.
|
||||
randf | `(randf)` | `0.678` | Return a random float between 0 (inclusive) and 1 (exclusive).
|
||||
rand-seed | `(rand-seed 256)` | `256` | Seed the random number generator with the given value.
|
||||
|
||||
### Regular expression functions
|
||||
|
||||
|
@ -122,12 +122,19 @@ class Math implements ILib
|
||||
|
||||
// Random number generator
|
||||
|
||||
$env->set('coinflip', new CoreFunc('coinflip', 'Return true or false with equal probability.', 0, 0,
|
||||
fn () => boolval(mt_rand(0, 1))
|
||||
));
|
||||
|
||||
$env->set('rand', new CoreFunc('rand', 'Return a random integer between given min and max values.', 2, 2,
|
||||
fn ($min, $max) => mt_rand($min, $max)
|
||||
));
|
||||
|
||||
$env->set('randf', new CoreFunc('randf', 'Return a random float between given 0 (inclusive) and 1 (exclusive).', 0, 0,
|
||||
fn () => mt_rand(0, mt_getrandmax() - 1) / mt_getrandmax()
|
||||
));
|
||||
|
||||
$env->set('rand-seed', new CoreFunc('rand-seed', 'Seed the random number generator with the given value.', 1, 1,
|
||||
function (int $a) {
|
||||
mt_srand($a);
|
||||
return $a;
|
||||
}
|
||||
));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user