Common mathematical functions | |||||||||||||||||||||||||||||||
Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray ) | |||||||||||||||||||||||||||||||
Pseudo-random number generation | |||||||||||||||||||||||||||||||
Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
|
|
|
Defined in header <cstdlib> | ||
void srand(unsigned seed); | ||
Seeds the pseudo-random number generator used bystd::rand() with the valueseed
.
Ifstd::rand() is used before any calls tosrand()
,std::rand() behaves as if it was seeded withsrand(1).
Each timestd::rand() is seeded with the sameseed
, it must produce the same sequence of values.
srand()
is not guaranteed to be thread-safe.
Contents |
seed | - | the seed value |
(none)
Generally speaking, the pseudo-random number generator should only be seeded once, before any calls torand()
, at the start of the program.It should not be repeatedly seeded, or reseeded every time you wish to generate a new batch of pseudo-random numbers.
Standard practice is to use the result of a call tostd::time(0) as the seed.However,std::time returns astd::time_t value, andstd::time_t is not guaranteed to be an integral type.In practice, though, every major implementation definesstd::time_t to be an integral type, and this is also what POSIX requires.
Possible output:
Random value on [0, 2147483647]: 1373858591
generates a pseudo-random number (function)[edit] | |
maximum possible value generated bystd::rand (macro constant)[edit] | |
reseeds the per-thread random engine (function)[edit] | |
C documentation forsrand |