home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / adapm_15.zip / random.adb < prev    next >
Text File  |  1993-10-10  |  698b  |  36 lines

  1. package body Random is
  2.  
  3.   Seed : Long_Integer;
  4.   
  5.   ---------------------------
  6.  
  7.   procedure Set_Seed (Value : in Long_Integer) is
  8.     begin
  9.       Seed := Value;
  10.     end Set_Seed;      
  11.   
  12.   ---------------------------
  13.   
  14.   function Rnd return Float is
  15.     begin
  16.     
  17.       if Seed mod 2 = 0 then
  18.         Seed := Seed + 1;
  19.       end if;
  20.       
  21.       Seed := (Seed * 3125) mod 8192;
  22.       
  23.       return Float (Seed) / 8192.0;
  24.       
  25.     end Rnd;                                
  26.   
  27.   ---------------------------
  28.   
  29.   function Num (Max_Value : in Long_Integer) return Long_Integer is
  30.     begin
  31.       return Long_Integer (Float (Max_Value) * Rnd + 0.5);  
  32.     end Num;
  33.       
  34. end Random;  
  35.  
  36.