[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
Solved

About the turbo pascal random number  generator

Posted on 1998-12-02
Medium Priority
1,622 Views
What is the explicit definition of the linear congruential random number generator used in turbo pascal, i. e., what are its multiplicative constant and its modulus?
0
Question by:amitapal
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
1 Comment

LVL 4

Accepted Solution

jack_p50 earned 150 total points
ID: 1216268
Here are how TP6 and TP7 random works :

const
rseed: longint = 0;

procedure randomize67;      {TP 6.0 & 7.0 seed generator}
begin
reg.ah:=\$2c;
msdos(reg);    {get time: ch=hour,cl=min,dh=sec,dl=sec/100}
rseed:=reg.dx;
rseed:=(rseed shl 16) or reg.cx;
end;

function rand_word6(x: word): word;    {TP 6.0 RNG: word}
begin
rseed:=rseed*134775813+1;
rand_word6:=(rseed shr 16) mod x;
end;

function rand_word7(x: word): word;    {TP 7.0 RNG: word}
begin
rseed:=rseed*134775813+1;
rand_word7:=((rseed shr 16)*x+((rseed and \$ffff)*x shr 16)) shr 16;
end;

function rand_real67: real;    {TP 6.0 & 7.0 RNG: real}
begin
rseed:=rseed*134775813+1;
if rseed<0 then rand_real67:=rseed/4294967296.0+1.0 else
rand_real67:=rseed/4294967296.0;
end;
0

Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

With the evolution of technology, we have finally reached a point where it is possible to have home automation features like having your thermostat turn up and door lock itself when you leave, as well as a complete home security system. This is a st…
This month, Experts Exchange sat down with resident SQL expert, Jim Horn, for an in-depth look into the makings of a successful career in SQL.
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses
Course of the Month13 days, 19 hours left to enroll