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,193
  • 4
  • 53
  • 81
Kudos
  • 69
  • 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
  • 814,905
  • 225
  • 1,535
  • 1,899
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
  • 110,388
  • 20
  • 126
  • 153