Инициализировать генератор псевдослучайных чисел
#include <stdlib.h>char * initstate( unsigned int seed,char *state,size_t size );
libc
The initstate() initializes the given state array for future use when generating pseudo-random numbers.
This function uses the size argument to determine what type of random-number generator to use; the larger the state array, the more random the numbers. Values for the amount of state information are 8
, 32
, 64
, 128
, and 256
bytes. Other values greater than 8 bytes are rounded down to the nearest one of these values. For values smaller than 8
, random() uses a simple linear congruential random number generator.
Use this function in conjunction with the following:
If you haven't called initstate(), random() behaves as though you had called initstate() with a seed of 1
and a size of 128
.
After initialization, you can restart a state array at a different point in one of these ways:
A pointer to the previous state array, or NULL
if an error occurred.
#include <stdlib.h>#include <stdio.h>#include <time.h>static char state1[32];int main(){initstate( time( NULL ), state1, sizeof( state1 ) );setstate( state1 );printf( "%d0\n", random() );return (EXIT_SUCCESS);}
POSIX 1003.1 XSI
drand48(), rand(), random(), setstate(), srand(), srandom()
Предыдущий раздел: Описание API системной библиотеки