0

I have been researching the source code of Rand() for a while, but until now I couldn't figure out the whole picture of the function.

The following are the source codes found and researched by me:

rand.c

random.c

Could somebody provide some advices or assistance for me?

Thanks a million!

musiKk
  • 14,751
  • 4
  • 55
  • 82
Kudos
  • 99
  • 1
  • 3

2 Answers2

0

It's not required to be based on any specific algorithm but many will use a linear congruential algorithm to generate the sequences. This basically changes the seed along the following lines:

seed = (seed * multiplier + adder) % modulo

and then deliver some portion of the seed as a random value. The values for multiplier, adder and modulo can vary quite a bit.

paxdiablo
  • 854,327
  • 234
  • 1,573
  • 1,953
0

Rand is based on several things like mac address which should be unique on every machine. there are several implementations to verify that the returned value is "random"

CodeWizard
  • 128,036
  • 21
  • 144
  • 167