PCWBENCHMARK 'LIBRARY' "LB:[1,1]CORALK.LIB" 'LIBRARY' "LB:[1,1]FLOATK.LIB" 'COMMENT' PCW December 1980 pp59-61 ; 'BEGIN' 'INTEGER' J,K,L; 'FLOATING' X,Y,T; 'INTEGER''ARRAY' MATRIX[0:10]; 'BYTE''ARRAY' TOFD[0:12]; 'PROCEDURE' NONE5; 'BEGIN' J:=1 'END'; 'PROCEDURE' NONE4; 'BEGIN' NONE5 'END'; 'PROCEDURE' NONE3; 'BEGIN' NONE4 'END'; 'PROCEDURE' NONE2; 'BEGIN' NONE3 'END'; 'PROCEDURE' NONE1; 'BEGIN' NONE2 'END'; 'PROCEDURE' VALUE5('VALUE''INTEGER' I); 'BEGIN' I:=1 'END'; 'PROCEDURE' VALUE4('VALUE''INTEGER' I); 'BEGIN' VALUE5(I) 'END'; 'PROCEDURE' VALUE3('VALUE''INTEGER' I); 'BEGIN' VALUE4(I) 'END'; 'PROCEDURE' VALUE2('VALUE''INTEGER' I); 'BEGIN' VALUE3(I) 'END'; 'PROCEDURE' VALUE1('VALUE''INTEGER' I); 'BEGIN' VALUE2(I) 'END'; 'PROCEDURE' REFER5('LOCATION''INTEGER' I); 'BEGIN' I:=1 'END'; 'PROCEDURE' REFER4('LOCATION''INTEGER' I); 'BEGIN' REFER5(I) 'END'; 'PROCEDURE' REFER3('LOCATION''INTEGER' I); 'BEGIN' REFER4(I) 'END'; 'PROCEDURE' REFER2('LOCATION''INTEGER' I); 'BEGIN' REFER3(I) 'END'; 'PROCEDURE' REFER1('LOCATION''INTEGER' I); 'BEGIN' REFER2(I) 'END'; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO'; WRITETEXT("Magnifier*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO'; WRITETEXT("FOR loop*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1,J+1 'WHILE' J<10 'DO' ; WRITETEXT("WHILE loop*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'BEGIN' J:=1; LOOP: J:=J+1; 'IF' J<10 'THEN' 'GOTO' LOOP; 'END'; WRITETEXT("GOTO loop*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO' L:=0; WRITETEXT("Literal assign*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO' L:=J; WRITETEXT("Memory access*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' X:=K/2*3+4-5; WRITETEXT("Real arithmetic*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' X:=K/K*K+K-K; WRITETEXT("Real algebra*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; MATRIX[0]:=1; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO' MATRIX[J]:=MATRIX[J-1]; WRITETEXT("Vector*T*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO' 'IF' J<6 'THEN' L:=1 'ELSE' L:=0; WRITETEXT("Equal IF*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'FOR' J:=1 'STEP' 1 'UNTIL' 10 'DO' 'IF' J<2 'THEN' L:=1 'ELSE' L:=0; WRITETEXT("Unequal IF*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; J:=0; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' NONE1; WRITETEXT("No parameters*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; J:=0; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' VALUE1(J); WRITETEXT("Value*T*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; J:=0; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' REFER1(J); WRITETEXT("Reference*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; T:=RUNTIME; 'FOR' K:=1 'STEP' 1 'UNTIL' 10000 'DO' 'BEGIN' X:=EXP(K/1000); Y:=SIN(K); 'END'; WRITETEXT("Maths*T*T"); WRITEFLO(RUNTIME-T,2,3); NEWLINE; WRITETEXT("End of PCW benchmark*N"); 'END' 'FINISH'