home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2src / rantst.mod < prev    next >
Text File  |  1996-02-03  |  1KB  |  44 lines

  1. MODULE RANTST;
  2. (* test for pseudo randomnumber generator *)
  3. IMPORT  Randoms ;
  4. IMPORT Random;
  5. FROM  RealInOut IMPORT WriteReal;
  6. FROM InOut IMPORT WriteLn, Write, WriteCard;
  7. (*$XL+ language extensions: allow extended import syntax *)
  8.  
  9. IMPORT FROM DOS;
  10.  
  11.  
  12. VAR t1, t2 , t3 : DATETIME;
  13.     rc  : APIRET;
  14.     j   : CARDINAL;
  15.     A,B : REAL;
  16.  
  17. BEGIN
  18.   Randoms.InitSeed(4);
  19.   Random.Seed := 4.;
  20.   rc := DosGetDateTime (t1);
  21.   FOR j := 1 TO 64000 DO
  22.     A := Randoms.Random(); (* fastest *)
  23.     (* WriteReal(A,25);Write(",");WriteReal(B,25);WriteLn *)
  24.   END;
  25.   rc := DosGetDateTime (t2);
  26.   FOR j := 1 TO 64000 DO
  27.        B := Random.RandomReal(); (* 5.5 times slower *)
  28.        (* WriteReal(A,25);Write(",");WriteReal(B,25);WriteLn*)
  29.   END;
  30.   rc := DosGetDateTime (t3);
  31.   WriteCard((t1.minutes*60 + t1.seconds)*100 + t1.hundredths,20); WriteLn;
  32.   WriteCard((t2.minutes*60 + t2.seconds)*100 + t2.hundredths,20); WriteLn;
  33.   WriteCard((t3.minutes*60 + t3.seconds)*100 + t3.hundredths,20); WriteLn;
  34.   WriteCard(t1.minutes,2);WriteCard(t1.seconds,2);WriteCard(t1.hundredths,3);
  35.   WriteLn;
  36.   WriteCard(t2.minutes,2);WriteCard(t2.seconds,2);WriteCard(t2.hundredths,3);
  37.   WriteLn;
  38.   WriteCard(t3.minutes,2);WriteCard(t3.seconds,2);WriteCard(t3.hundredths,3);
  39.   WriteLn;
  40.  
  41.  
  42. END RANTST.
  43.  
  44.