MODULE probe; FROM STATUNIF IMPORT SetGener01, Serial, Gap, SimpPoker, CouponCollector, MaxOft, Permutation, Collision, Run, Opso, NearestPair, BirthdaySpacings; FROM UNIFORM IMPORT Gen, SetCombTaus2, SetSWB, SetTGFSR, SetCombLEC2, SetLCG, SetCSD, SetMultRec, SetCombTaus3, WriteState, SetLCG2e32; FROM MYINOUT IMPORT OpenAsOutput, CloseOutput; FROM StandardIO IMPORT GetOutput; FROM Files IMPORT File, FileState, Flush; VAR sortie : File; statut : FileState; i,j : INTEGER; s1, s2, s3 : LONGINT; x : LONGCARD; S : ARRAY [0..50] OF LONGCARD; PROCEDURE testswsc92 (); BEGIN Run (1000, 100000, TRUE); Flush (sortie, statut); SimpPoker (1000, 10000, 16, 12); Flush (sortie, statut); Opso (100, 0, 1); Flush (sortie, statut); Opso (100, 15, 1); Flush (sortie, statut); Opso (100, 0, 2); Flush (sortie, statut); Opso (100, 15, 2); Flush (sortie, statut); NearestPair (100, 100000, 4); Flush (sortie, statut); NearestPair (20, 100000, 6); Flush (sortie, statut); NearestPair (20, 50000, 9); Flush (sortie, statut); BirthdaySpacings (100, 100, 5000, 2000000000); Flush (sortie, statut); END testswsc92; PROCEDURE testscacm88 (); BEGIN Serial (10000, 1000, 64, 1); Flush (sortie, statut); Serial (10000, 10000, 256, 1); Flush (sortie, statut); Serial (1000, 100000, 64, 2); Flush (sortie, statut); Serial (1000, 100000, 16, 3); Flush (sortie, statut); Serial (1000, 100000, 8, 4); Flush (sortie, statut); Gap (1000, 10000, 15, 0.0, 0.05); Flush (sortie, statut); Gap (1000, 10000, 15, 0.95, 1.0); Flush (sortie, statut); Gap (1000, 10000, 10, 0.3333333, 0.6666667); Flush (sortie, statut); SimpPoker (1000, 10000, 4, 4); Flush (sortie, statut); SimpPoker (1000, 10000, 4, 6); Flush (sortie, statut); SimpPoker (1000, 10000, 8, 6); Flush (sortie, statut); SimpPoker (1000, 10000, 16, 8); Flush (sortie, statut); CouponCollector (1000, 10000, 5, 25); Flush (sortie, statut); CouponCollector (1000, 10000, 10, 40); Flush (sortie, statut); Permutation (1000, 10000, 3); Flush (sortie, statut); Permutation (1000, 10000, 5); Flush (sortie, statut); Run (1000, 100000, TRUE); Flush (sortie, statut); MaxOft (1000, 10000, 128, 8); Flush (sortie, statut); Collision (100, 20000, 8, 6); Flush (sortie, statut); Collision (100, 20000, 4, 10); Flush (sortie, statut); Collision (100, 20000, 2, 20); Flush (sortie, statut); END testscacm88; PROCEDURE testsAdd (); BEGIN MaxOft (1000, 10000, 128, 8); Flush (sortie, statut); Collision (100, 20000, 8, 6); Flush (sortie, statut); Collision (100, 20000, 4, 10); Flush (sortie, statut); Collision (100, 20000, 2, 20); Flush (sortie, statut); SimpPoker (1000, 10000, 4, 4); Flush (sortie, statut); SimpPoker (1000, 10000, 4, 4); Flush (sortie, statut); END testsAdd; BEGIN (* OpenAsOutput ("taus3a.res"); *) GetOutput (sortie); (* s1 := 2046383707; s2 := 477877524; s3 := 251113583; *) (* s1 := 853644872; s2 := 364695137; s3 := 208244448; *) (* s1 := 600840200; s2 := 8939754; s3 := 11024430; *) (* s1 := 1204939669; s2 := 322650544; s3 := 75983698; *) (* s1 := 12345678; s2 := 23456789; s3 := 34567890; *) (* s1 := 1394988483; s2 := 173601356; s3 := 192896718; *) s1 := 1870106566; s2 := 99158653; s3 := 249976387; SetCombTaus3(31, 29, 28, 3, 2, 3, 10, 13, 15, s1, s2, s3); SetGener01 (Gen, "CombTaus3(31, 29, 28, 3, 2, 3, 10, 13, 15, s1, s2, s3)"); WriteState; testsAdd; (* SetLCG2e32 (69069, 0, 12345); SetGener01 (Gen, "LCG 2e32, a=69069, c=0"); WriteState; testswsc92; SetLCG2e32 (663608941, 0, 12345); SetGener01 (Gen, "LCG 2e32, a=663608941, c=0"); WriteState; testswsc92; SetLCG2e32 (69069, 1, 12345); SetGener01 (Gen, "LCG 2e32, a=69069, c=1"); WriteState; testswsc92; *) (* CloseOutput; *) END probe.