perm filename RANDOM.SAI[LSP,BGB] blob
sn#056545 filedate 1973-08-06 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 BEGIN "RANDOM"
00004 ENDMK
⊗;
BEGIN "RANDOM"
SAFE INTEGER ARRAY HISTO[0:100];
SAFE INTEGER ARRAY RAN5[0:255];
INTEGER RAN1,RAN2,RAN3,RAN4,INITFLG;
INTEGER I,J;
SIMPLE PROCEDURE RANDOMI;
BEGIN "INIT"
INTEGER I;
RAN1←1;
RAN2←3;
FOR I←0 STEP 1 UNTIL 255 DO
RAN5[I]←RAN2←(RAN2*3)MOD 2↑31 ;
INITFLG ← TRUE;
END "INIT";
SIMPLE INTERNAL REAL PROCEDURE RANDOM;
BEGIN "RANDOM"
IF INITFLG THEN ELSE RANDOMI;
START_CODE MOVE 1,RAN2;MULI 1,1756;IDIVI 2,8191;MOVEM 3,RAN1;END;
COMMENT RAN1←(RAN2*1756) MOD 8191;
RAN3←RAN1 DIV 32;
RAN4←RAN5[RAN3];
RAN2←RAN5[RAN3]←(RAN2*3)MOD 2↑31;
RETURN(RAN4/2↑31)
END "RANDOM";
OUTSTR(13&10);
FOR I ← 1 STEP 1 UNTIL 50000 DO
BEGIN J←100*RANDOM; HISTO[J]←HISTO[J]+1;END;
FOR J← 0 STEP 1 UNTIL 9 DO BEGIN
FOR I← 0 STEP 1 UNTIL 9 DO OUTSTR(CVS(HISTO[J*10+I])&" ");
OUTSTR(13&10);END;OUTSTR(13&10);
END "RANDOM"