Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
Solved

# About the turbo pascal random number  generator

Posted on 1998-12-02
Medium Priority
1,635 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
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

What happened when I tried to make my phone, a Samsung Galaxy S8, stop dropping all WiFi signals was a saga I won't repeat here, but what you might want to know is how it started and how I got it working again.
Often, the users face difficulty in accessing Outlook 2016 PST files on Windows 10 computer. One of the reasons behind it is the improper functioning of MS Outlook when the user tries to open it. MS Outlook suddenly stops working, or it will not op…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
###### Suggested Courses
Course of the Month11 days, 8 hours left to enroll