home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol6n20.zip / FIGURES.ZIP / FIGURE.4 < prev    next >
Text File  |  1987-10-16  |  972b  |  41 lines

  1. PROGRAM PowerOf2;
  2.   CONST
  3.     Power2 : array[0..15] of Integer =
  4.     (1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,$8000);
  5.  
  6.   FUNCTION Power_2(I : integer) : integer;
  7.   VAR N : byte;
  8.     temp : Integer;
  9.   BEGIN
  10.     temp := 1;
  11.     FOR N := 2 to I DO temp := temp * 2;
  12.     Power_2 := temp;
  13.   END;
  14.  
  15.   FUNCTION Power_2a(I : integer) : integer;
  16.   BEGIN
  17.     Power_2a := Power2[I];
  18.   END;
  19.  
  20. {$I timer.inc}
  21. VAR I, J, K : integer;
  22. CONST reps = 10000;
  23. BEGIN
  24.   K := 15;
  25.   timer(on);
  26.   FOR I := 1 to reps DO J := Power_2(K);
  27.   timer(off);
  28.   Write('Power_2 took ',time:1:2);
  29.   WriteLn(' seconds for ',reps,' repetitions');
  30.   timer(on);
  31.   FOR I := 1 to reps DO J := Power_2a(K);
  32.   timer(off);
  33.   Write('Power_2a took ',time:1:2);
  34.   WriteLn(' seconds for ',reps,' repetitions');
  35.   timer(on);
  36.   FOR I := 1 to reps DO J := Power2[K];
  37.   timer(off);
  38.   Write('Power2 array took ',time:1:2);
  39.   WriteLn(' seconds for ',reps,' repetitions');
  40. END.
  41.