# Math Random Functions

Warning
UnigineScript is deprecated and will be removed in future releases. Please consider using C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScipt is not guaranteed, as the current level of support assumes only fixing critical issues.

This class contains randomization functions.

## 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: 04.04.2019