program Ahl(input, output); uses transcen,applestu; var r,s,a : real; i,n: integer; begin writeln("ahl.apple.text -- The Apple Pascal version of Ahl's simple benchmark"); r:=0; s:=0; for n:=1 to 100 do begin a := n; for i:=1 to 10 do begin a := sqrt(a); r := r + 1.0/32767.0*random; end; for i:=1 to 10 do begin a := a*a; r := r + 1.0/32767.0*random; end; s := s + a; end; writeln("Accuracy ",abs(1010.0-s/5.0)); writeln("Random ",abs(1000.0-r)); end.
program Ahl(input, output); { Ahl's simple benchmark } var r,s,a : real; i,n,iter : integer; t,t1: integer; begin writeln("ahl.p -- The Sun Pascal version of Ahl's simple benchmark"); r:=0; s:=0; time(t); t1=t while (t=t1) do time(t1); time(t); repeat iter := iter + 1; r:=0; s:=0; for n:=1 to 100 do begin a := n; for i:=1 to 10 do begin a := sqrt(a); r := r + random; end; for i:=1 to 10 do begin a := a*a; r := r + random; end; s := s + a; end; time(t1); until ((t1-t)>20); t=time(0) - t; writeln(iter," iterations"); writeln(t/iter," seconds per iteration"); writeln("Accuracy ",abs(1010.0-s/5.0)); writeln("Random ",abs(1000.0-r)); end.