diff --git a/src/generator/congruential32.ts b/src/generator/congruential32.ts index e8f4f46..b4a6306 100644 --- a/src/generator/congruential32.ts +++ b/src/generator/congruential32.ts @@ -26,7 +26,10 @@ const JUMP_MULTIPLIER: number = 0x76dc0001; const JUMP_INCREMENT: number = 0x369b0000; class LinearCongruential32 implements JumpableRandomGenerator { - constructor(private seed: number) {} + declare private seed: number; + constructor(seed: number) { + this.seed = seed; + } clone(): LinearCongruential32 { return new LinearCongruential32(this.seed); } diff --git a/src/generator/mersenne.ts b/src/generator/mersenne.ts index bc3d62f..502a400 100644 --- a/src/generator/mersenne.ts +++ b/src/generator/mersenne.ts @@ -25,10 +25,12 @@ const JUMP_COEFS = 'SUSgbA\\W`E[]KN2RUSo8XVU?HKBFRl11E\\KoWOg5B]XEWG;BE;1:oVK[`B^Z9Qd23^XTnhL>]Unda4f[X;_j9H5QD=cN<5H`3bW>9bk1mjoI2fK0obmAAINOV:>Mek_V9ddHmm`co>k:KOSkSbIINb1VFf>LXgP>GUAQTD>Ci>XMGkUflLlb?_FaFUk@?5N7i70@;1o68ah@IAjUDh?M1B?^??FAXKThfR<;NHk3S9YhM7STJ6`:MIE`S@7298X8W>PNK=@;lLXlK6GM1YL\\lid:J>KYS=iJ]Y>QlF>?R5_[5QeYC=66;A32Ac>OHk_ne^0g>bK:g;KFPgbGUcPR_Z=TX3H9d03bKZ2IhEPKBo>LSGWd0iFdV8CT[O6lC\\blaZ>GoAYP4clf^j1IfnZJ]QeDe2X=h?Ye:_f_Sb9Ki5GDYBF4dWeMfdg^ccPllNWM7G1\\UMdoYeOOD5^e@foA22G?ADYo5:FVG[bWo96;>3kc_c1Ab30>30;1@4F8g2hY?DJ4[LOL;ZLLKo2]jo>[KMDUcR279N_kF=3WL@Dd620bMTdA\\U9k``ef2iD9JgJ8CZBHS>F^Uk;3_ocRA>2U:4GPQ6o>5jX2HIcV3S@On6KB<[SKB?FC_AAji9agbBFkAi\\;4I\\UJ]c36Ub@[;gQACVGYE]noQ[1Kambn??QQ]S?1i0oMGOijb\\aGY6lQ^CJ?9bFle8^h_g[RQV@PnYBRI_]`B]Bh@Uk03eXGY`I16L76H28X`R>IROMeNVUdU[:lghLhPCQZ:4a<30YBZCYnXe[?;jc8gKI2QH2MjnWBm4nGCZW`aVU2a;P:aNg:Th1Y=5o78K>LQ8hW@5S?I83Lk5Xk;j5@I3o[d:4RjE^oS30:WP9gC\\i8aSI>QRE@4lP:7lDg8g2`Ql[2I8aBU\\BQ?B4_clL9Q]S;^e1Ob5[>3JER2`c7B=o]fPOWOW:M?S_4S5d@J^`[AGA7@3]DnGSCO`\\?E8HT75^d9\\:m\\m1egIfk8cd6bD9\\eU8\\n[Pb0Cgd^S0n9kGJHb]i5XodlKHc34Fhi9K>0U5WK`>7Ff2^KL=WC6:kc?e5C^a1T1:4:^S5flXlGNIj08AfO?Dh7T7dWO>E]NI9?ob7B7P_h[4TEP[EU;GllFTnSmg9:\\[N]AYRJA1U5^Blhgno:aHVYc03c3J0Vc9FjEV^M75Zfd8kVC9>iJDk`AJ[6f7DK2D^DL\\AX:6b5h31XH;RQB\\NhEVLTdhL\\b1EB0lLh<=WaO@F<;8g?VE98[B\\Kjf?DUK00Aih:D`=fLPbO?VOTEYLj^cNj5PM>jKB5HVjJ4U7lXaTQNL9<@\\1`m\\Ug@VQHd7>jW=ca0`miF7;N0F=GjoQ`RFchKMGTmn8cF@Oh4GGCm7m2`U9j93Tb>=kSERjE_J939F01I1;`^LA=ebloE2Y2:9lkh0\\X:??`H6BXF2hG1Q[dF0Q=>W=J?7C\\k1T?<;R44oW?1hY^G8Zm]ZKnfOf0eCFYo6?=D8?<`6HU5SXh1;=:23LmV_FSi;OJfV<^?GkIDPISeHg1LaGE:V3Y3K3HoEKabY`:oU;=JW7ig?S?EYb86b7n8ce\\]IRa]koiWYOm2kMBUloD>Ze@NN^Z11TM`inXYhE_I=kA`:ZF4d\\>`L@;ZP[`ENU5cL[BV6\\Z?Di76:jg3hE6oG6jFc8kP=[GS1;WSedYQW1:U4\\OF32GgmMCT3VfcUB2m4J^CPRU;8dScI]LU]^bBYA5_3:Y0N5i^?200000'; class MersenneTwister implements JumpableRandomGenerator { - constructor( - private states: number[], // states: between -0x80000000 and 0x7fffffff - private index: number, - ) {} + declare private states: number[]; // states: between -0x80000000 and 0x7fffffff + declare private index: number; + constructor(states: number[], index: number) { + this.states = states; + this.index = index; + } clone(): MersenneTwister { return new MersenneTwister(this.states.slice(), this.index); }