blob: 9b2fdc705eaf41beee9bb694fc6120608e6ce5f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
/**
* sfunction randint - Return a random number between [0,n)
* @n: Number past upper limit of range, not larger than 2**20.
*/
function randint:long(n:long)
%{ /* unprivileged */
#define RANDMAX (1024*1024)
if (THIS->n > RANDMAX)
CONTEXT->last_error = "range too wide";
else {
THIS->__retvalue = (uint64_t) _stp_random_u((unsigned long) THIS->n);
}
#undef RANDMAX
%}
|