< index < 9. Pseudorandom number generator |
===================================== | > 9.2 Using a generator |
C++ : static TCODRandom *TCODRandom::getInstance() C : TCOD_random_t TCOD_random_get_instance() Py : random_get_instance()
C++ : TCODRandom::TCODRandom(TCOD_random_algo_t algo = TCOD_RNG_CMWC) C : TCOD_random_t TCOD_random_new(TCOD_random_algo_t algo) Py : random_new(algo=RNG_CMWC)
Parameter | Description |
---|---|
algo | The PRNG algorithm the generator should be using. Possible values are: * TCOD_RNG_MT for Mersenne Twister, * TCOD_RNG_CMWC for Complementary Multiply-With-Carry. |
C++ : TCODRandom::TCODRandom(TCOD_random_algo_t algo = TCOD_RNG_CMWC, uint32 seed); C : TCOD_random_t TCOD_random_new_from_seed(TCOD_random_algo_t algo, uint32 seed); Py : random_new_from_seed(seed, algo=RNG_CMWC)
Parameter | Description |
---|---|
seed | The 32 bits seed used to initialize the generator. Two generators created with the same seed will generate the same set of pseudorandom numbers. |
algo | The PRNG algorithm the generator should be using. |
C++ : // default generator TCODRandom * default = TCODRandom::getInstance(); // another random generator TCODRandom *myRandom = new TCODRandom(); // a random generator with a specific seed TCODRandom *myDeterministRandom = new TCODRandom(0xdeadbeef); C : /* default generator */ TCOD_random_t default = TCOD_random_get_instance(); /* another random generator */ TCOD_random_t my_random = TCOD_random_new(TCOD_RNG_CMWC); /* a random generator with a specific seed */ TCOD_random_t my_determinist_random = TCOD_random_new_from_seed(TCOD_RNG_CMWC,0xdeadbeef); Py : # default generator default = libtcod.random_get_instance() # another random generator my_random = libtcod.random_new() # a random generator with a specific seed my_determinist_random = libtcod.random_new_from_seed(0xdeadbeef)