|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900) Types: TextFile Names: »ttimertest«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »ttimertest«
job jaba 9 600 time 5 0 perm mini 30 2 size 92000 mode list.yes ( btimertest = set 1 mini scope project btimertest btimertest =pascal80 ioenvir finis) (*********************** * lambda run time test * * test8 mini * * 81.06.19 * ***********************) process timertest( var sv : system_vector ); (* sort an array of integers *) const length = 2000; timerstart = 16000; (* countdown from... *) var number_of_turns, turn, step, step1, hp, hp1, limit : integer; list : array ( 1 .. length ) of integer; z_in, z_out : zone; pool_in, pool_out : pool 1 of opbuffer; timerpool : pool 1; timermsg: reference; timeransw : semaphore; mainsem : semaphore; begin openopzone( z_in, sv(operatorsem), ref( mainsem), 1, pool_in, 1, 0, 0, 0); openopzone( z_out, sv(operatorsem), ref( z_out.free), 1, pool_out, 2, 0, 0, 0); outtext (z_out, 'test accurac'); outtext (z_out, 'y...#'); outchar (z_out, nl); repeat opin(z_in); outtext (z_out, 'u3, u4 =?#'); outend (z_out); opwait( z_in, pool_in ); ininteger( z_in, number_of_turns ); ininteger (z_in, limit); alloc(timermsg,timerpool,timeransw); with timermsg^ do begin u3 := number_of_turns; u4 := limit; end; sendtimer(timermsg); outend (z_out); outtext( z_out, 'start#'); outchar( z_out, nl); outend( z_out ); own.timer := timerstart; definetimer (true); if false then for turn := 1 to number_of_turns do begin (* initialize: worst case *) for step := 1 to limit do list ( step ) := step; for step := 1 to limit - 1 do begin hp := step; hp1 := list ( step ); for step1 := step + 1 to limit do if list ( step1 ) > hp1 then begin hp := step1; hp1 := list ( step1 ); end; list ( hp ) := list ( step ); list ( step ) := hp1; end; (* for step .... *) end; (* for turn ... *) wait(timermsg,timeransw); release(timermsg); outtext (z_out, 'seconds = #'); outinteger (z_out, timerstart - own.timer, 1); outchar (z_out, nl); outtext( z_out, 'stop #'); outend(z_out); outinteger( z_out, number_of_turns, 1); outchar(z_out, nl); outend(z_out); until number_of_turns <= 0; end. ▶EOF◀