Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

# Math Random Functions (UnigineScript)

## floatrand ()

Generate a floating point random value in range [0,1). The function returns system rand() / RAND_MAX.

### Return value

A pseudo-random number between 0.0 and 1.0.

### Examples

Source code(UnigineScript)
``````forloop(int i = 0; 4) {
printf("%s\n",typeinfo(rand()));
}
/*
result is:
float: 0.510393
float: 0.638238
float: 0.406844
float: 0.407974
*/``````

## variablerand (variable from, variable to)

Generate a random value in range [to,from). For vectors values are obtained per component.

### Arguments

• variable from - From value. Can be the following types:
• variable to - To value. Can be the following types:
• int, long, float or double if the first argument is either int, float or double.
• string if the first argument is int:
• If a string is empty, it will equal to int(0).
• If a string is nonempty, it will equal to int(1).
• vec3 or dvec3 if the first argument is vec3
• vec4 or dvec4 if the first argument is vec4
• dvec3 if the first argument is dvec3
• dvec4 if the first argument is dvec4
• ivec3 if the first argument is ivec3
• ivec4 if the first argument is ivec4

### Return value

A pseudo-random number between from and to.

### Examples

Source code(UnigineScript)
``````printf("%s\n",typeinfo(rand(-2,3)));
printf("%s\n",typeinfo(rand(-3.0,2)));
printf("%s\n",typeinfo(rand(vec3(-1,-2,-3),vec3(1,2,3))));
/*
result is:
int: 1
float: 1.5561
vec3: 0.19138 1.81164 -0.688218
*/``````

## voidsrand (int seed)

Set a new sequence of random numbers. Function calls system srand() function.

### Arguments

• int seed - Seed value for system random number generator.
Last update: 2017-07-03