PACKET speed tester DEFINES test speed : (***************************************************************************) (* *) (* Autor: A. Steinmann Copyright (C): HRZ - Unibi *) (* *) (***************************************************************************) PROC test speed : INT VAR frequency 1, frequency 2 ; TEXT VAR name of material, name of the heart of material, high, low ; REAL VAR begin, end ; page ; cursor (1,3) ; out (""15""+" EUMEL SPEED TESTER "+" "+" EUMEL SPEED TESTER "+" "+" EUMEL SPEED TESTER "+""14"") ; cursor (1,6) ; put ("Bitte gib Name/Typbezeichnung des Test-PC ein") ; line ; getline (name of material) ; line ; put ("Bitte gib Prozessortyp/Taktfrequenz ein") ; line ; getline (name of the heart of material) ; line ; name of material CAT " " ; output mem ; notice material (name of material + name of the heart of material) ; REP output mem ; putline ("Bitte gib Genauigkeitsfaktor fuer schnelle Operationen ein") ; put ("Voreingestellt ist maxint --> ") ; getline (high) ; line ; IF high = "" THEN frequency 1 := 32766 ELSE frequency 1 := int (high) FI ; putline ("Bitte gib Genauigkeitsfaktor fuer langsame Operationen ein") ; put ("Voreingestellt ist maxint Div 2 --> ") ; getline (low) ; IF low = "" THEN frequency 2 := maxint DIV 2 ELSE frequency 2 := int (low) FI ; notice frequency (frequency 1, frequency 2) ; begin := clock (0) ; test run down logic ; test integer operation ; test real operation ; test text operation ; test convert ; end := clock (0) ; page ; put ("Gesamtlaufzeit : ") ; put (time (end-begin)) ; line (2) ; put ("Taste drücken oder warten") ; pause (600) ; page ; cursor (1,5) ; out (""5""13"") ; IF yes ("Ergebnis anschauen") THEN edit ("memory") ; page FI ; cursor (1,5) ; out (""5""13"") ; IF yes ("Ergebnis loeschen") THEN forget ("memory",quiet) FI ; cursor (1,5) ; out (""5""13"") UNTIL no ("Neuer test") END REP . test run down logic : notice heading ("Steuerkonstrukte") ; for loop (frequency 1) ; while loop (frequency 1) ; until loop (frequency 1) ; if (frequency 1) ; select (frequency 1) ; proc (frequency 1) ; proc one param int (frequency 1) ; proc two param int (frequency 1) . test integer operation : notice heading ("Integer Operationen") ; int assign global (frequency 1) ; int assign local (frequency 1) ; int assign param (frequency 1) ; row int (frequency 1) ; int equal (frequency 1) ; int lequal (frequency 1) ; int add (frequency 1) ; int mult (frequency 1) ; int div (frequency 1) ; int incr (frequency 1) ; int mod (frequency 1) ; int abs (frequency 1) ; int min (frequency 1) . test real operation : notice heading ("Real Operationen") ; real assign (frequency 1) ; row real (frequency 1) ; real equal (frequency 1) ; real lequal (frequency 1) ; real add (frequency 1) ; real mult (frequency 2) ; real div (frequency 2) ; real incr (frequency 1) ; real mod (frequency 2) ; real abs (frequency 1) ; real min (frequency 1) . test text operation : notice heading ("Text Operationen") ; text assign 1 (frequency 1) ; text assign 10 (frequency 1) ; text assign 30 (frequency 1) ; row text (frequency 1) ; text equal 1 (frequency 1) ; text equal 10 (frequency 1) ; text equal 30 (frequency 1) ; text lequal 1 (frequency 1) ; text lequal 10 (frequency 1) ; text lequal 30 (frequency 1) ; text mult (frequency 1) ; cat (frequency 1) ; text add 1 (frequency 1) ; text add 10 (frequency 2) ; text add 30 (frequency 2) ; text length 1 (frequency 1) ; text length 10 (frequency 1) ; text length 30 (frequency 1) ; text sub 1 (frequency 1) ; text sub 10 (frequency 1) ; text sub 30 (frequency 1) ; subtext 1 (frequency 1) ; subtext 10 (frequency 1) ; subtext 30 (frequency 1) ; replace 1 (frequency 1) ; replace 10 (frequency 1) ; replace 30 ( frequency 1) ; text 1 (frequency 2) ; text 10 (frequency 2) ; text 30 (frequency 2) ; pos 1 (frequency 1) ; pos 10 (frequency 1) ; pos 30 (frequency 1) . test convert : notice heading ("Konvertierungs Operationen") ; real to int (frequency 1) ; int to real (frequency 1) ; text to int (frequency 2) ; int to text (frequency 1) ; int to text 2 (frequency 2) ; real to text (frequency 2) ; real to text 2 (frequency 2) ; code int (frequency 1) ; code text (frequency 1) ; END PROC test speed ; END PACKET speed tester