@@ -12,123 +12,60 @@ def sample_seed(seed):
1212 subtraction = abs (seed )
1313 mj = MSEED - subtraction
1414
15- # note: coefecents are fibinocci numbers
16- # a = 5
17- # b = 3
18- # for i in range(5, 55):
19- # v = getvarname(i) # sa0_50, sa0_16,..
20- # aa = (a * ((-1)**i) * -1) % MBIG
21- # bb = (b * (-1)**i) % MBIG
22- # print(f"{v} = ({aa} + {bb}*mj) % MBIG")
23- # c = a
24- # a += b
25- # b = c
26- sa0_50 = (5 + 2147483644 * mj ) % MBIG
27- sa0_16 = (2147483639 + 5 * mj ) % MBIG
28- sa0_37 = (13 + 2147483639 * mj ) % MBIG
29- sa0__3 = (2147483626 + 13 * mj ) % MBIG
30- sa0_24 = (34 + 2147483626 * mj ) % MBIG
31- sa0_45 = (2147483592 + 34 * mj ) % MBIG
32- sa0_11 = (89 + 2147483592 * mj ) % MBIG
33- sa0_32 = (2147483503 + 89 * mj ) % MBIG
34- sa0_53 = (233 + 2147483503 * mj ) % MBIG
35- sa0_19 = (2147483270 + 233 * mj ) % MBIG
36- sa0_40 = (610 + 2147483270 * mj ) % MBIG
37- sa0__6 = (2147482660 + 610 * mj ) % MBIG
38- sa0_27 = (1597 + 2147482660 * mj ) % MBIG
39- sa0_48 = (2147481063 + 1597 * mj ) % MBIG
40- sa0_14 = (4181 + 2147481063 * mj ) % MBIG
41- sa0_35 = (2147476882 + 4181 * mj ) % MBIG
42- sa0__1 = (10946 + 2147476882 * mj ) % MBIG
43- sa0_22 = (2147465936 + 10946 * mj ) % MBIG
44- sa0_43 = (28657 + 2147465936 * mj ) % MBIG
45- sa0__9 = (2147437279 + 28657 * mj ) % MBIG
46- sa0_30 = (75025 + 2147437279 * mj ) % MBIG
47- sa0_51 = (2147362254 + 75025 * mj ) % MBIG
48- sa0_17 = (196418 + 2147362254 * mj ) % MBIG
49- sa0_38 = (2147165836 + 196418 * mj ) % MBIG
50- sa0__4 = (514229 + 2147165836 * mj ) % MBIG
51- sa0_25 = (2146651607 + 514229 * mj ) % MBIG
52- sa0_46 = (1346269 + 2146651607 * mj ) % MBIG
53- sa0_12 = (2145305338 + 1346269 * mj ) % MBIG
54- sa0_33 = (3524578 + 2145305338 * mj ) % MBIG
55- sa0_54 = (2141780760 + 3524578 * mj ) % MBIG
56- sa0_20 = (9227465 + 2141780760 * mj ) % MBIG
57- sa0_41 = (2132553295 + 9227465 * mj ) % MBIG
58- sa0__7 = (24157817 + 2132553295 * mj ) % MBIG
59- sa0_28 = (2108395478 + 24157817 * mj ) % MBIG
60- sa0_49 = (63245986 + 2108395478 * mj ) % MBIG
61- sa0_15 = (2045149492 + 63245986 * mj ) % MBIG
62- sa0_36 = (165580141 + 2045149492 * mj ) % MBIG
63- sa0__2 = (1879569351 + 165580141 * mj ) % MBIG
64- sa0_23 = (433494437 + 1879569351 * mj ) % MBIG
65- sa0_44 = (1446074914 + 433494437 * mj ) % MBIG
66- sa0_10 = (1134903170 + 1446074914 * mj ) % MBIG
67- sa0_31 = (311171744 + 1134903170 * mj ) % MBIG
68- sa0_52 = (823731426 + 311171744 * mj ) % MBIG
69- sa0_18 = (1634923965 + 823731426 * mj ) % MBIG
70- sa0_39 = (1336291108 + 1634923965 * mj ) % MBIG
71- sa0__5 = (298632857 + 1336291108 * mj ) % MBIG
72- sa0_26 = (1037658251 + 298632857 * mj ) % MBIG
73- sa0_47 = (1408458253 + 1037658251 * mj ) % MBIG
74- sa0_13 = (1776683645 + 1408458253 * mj ) % MBIG
75- sa0_34 = (1779258255 + 1776683645 * mj ) % MBIG
76- 77- 78- sa1__1 = (sa0__1 - sa0_32 ) % MBIG
79- sa1__2 = (sa0__2 - sa0_33 ) % MBIG
80- sa1__3 = (sa0__3 - sa0_34 ) % MBIG
81- sa1__4 = (sa0__4 - sa0_35 ) % MBIG
82- sa1__5 = (sa0__5 - sa0_36 ) % MBIG
83- sa1__6 = (sa0__6 - sa0_37 ) % MBIG
84- sa1__7 = (sa0__7 - sa0_38 ) % MBIG
85- sa1__8 = ((1 - (mj - 1 )) - sa0_39 ) % MBIG
86- sa1__9 = (sa0__9 - sa0_40 ) % MBIG
87- sa1_10 = (sa0_10 - sa0_41 ) % MBIG
88- sa1_11 = (sa0_11 - (mj - 1 )) % MBIG
89- sa1_12 = (sa0_12 - sa0_43 ) % MBIG
90- sa1_13 = (sa0_13 - sa0_44 ) % MBIG
91- sa1_14 = (sa0_14 - sa0_45 ) % MBIG
92- sa1_15 = (sa0_15 - sa0_46 ) % MBIG
93- sa1_16 = (sa0_16 - sa0_47 ) % MBIG
94- sa1_17 = (sa0_17 - sa0_48 ) % MBIG
95- sa1_18 = (sa0_18 - sa0_49 ) % MBIG
96- sa1_19 = (sa0_19 - (5 - 3 * mj )) % MBIG
97- sa1_20 = (sa0_20 - sa0_51 ) % MBIG
98- sa1_21 = (1 - sa0_52 ) % MBIG
99- sa1_22 = (sa0_22 - sa0_53 ) % MBIG
100- sa1_23 = (sa0_23 - sa0_54 ) % MBIG
101- sa1_24 = (sa0_24 - mj ) % MBIG
102- sa1_25 = (sa0_25 - sa1__1 ) % MBIG
103- sa1_26 = (sa0_26 - sa1__2 ) % MBIG
104- sa1_27 = (sa0_27 - sa1__3 ) % MBIG
105- sa1_28 = (sa0_28 - sa1__4 ) % MBIG
15+ sa1__1 = ((10946 + 2147476882 * mj ) - (2147483503 + 89 * mj )) % MBIG
16+ sa1__2 = ((1879569351 + 165580141 * mj ) - (3524578 + 2145305338 * mj )) % MBIG
17+ sa1__3 = ((2147483626 + 13 * mj ) - (1779258255 + 1776683645 * mj )) % MBIG
18+ sa1__4 = ((514229 + 2147165836 * mj ) - (2147476882 + 4181 * mj )) % MBIG
19+ sa1__5 = ((298632857 + 1336291108 * mj ) - (165580141 + 2045149492 * mj )) % MBIG
20+ sa1__6 = ((2147482660 + 610 * mj ) - (13 + 2147483639 * mj )) % MBIG
21+ sa1__7 = ((24157817 + 2132553295 * mj ) - (2147165836 + 196418 * mj )) % MBIG
22+ sa1__8 = ((1 - (mj - 1 )) - (1336291108 + 1634923965 * mj )) % MBIG
23+ sa1__9 = ((2147437279 + 28657 * mj ) - (610 + 2147483270 * mj )) % MBIG
24+ sa1_10 = ((1134903170 + 1446074914 * mj ) - (2132553295 + 9227465 * mj )) % MBIG
25+ sa1_11 = ((89 + 2147483592 * mj ) - (mj - 1 )) % MBIG
26+ sa1_12 = ((2145305338 + 1346269 * mj ) - (28657 + 2147465936 * mj )) % MBIG
27+ sa1_13 = ((1776683645 + 1408458253 * mj ) - (1446074914 + 433494437 * mj )) % MBIG
28+ sa1_14 = ((4181 + 2147481063 * mj ) - (2147483592 + 34 * mj )) % MBIG
29+ sa1_15 = ((2045149492 + 63245986 * mj ) - (1346269 + 2146651607 * mj )) % MBIG
30+ sa1_16 = ((2147483639 + 5 * mj ) - (1408458253 + 1037658251 * mj )) % MBIG
31+ sa1_17 = ((196418 + 2147362254 * mj ) - (2147481063 + 1597 * mj )) % MBIG
32+ sa1_18 = ((1634923965 + 823731426 * mj ) - (63245986 + 2108395478 * mj )) % MBIG
33+ sa1_19 = ((2147483270 + 233 * mj ) - (5 - 3 * mj )) % MBIG
34+ sa1_20 = ((9227465 + 2141780760 * mj ) - (2147362254 + 75025 * mj )) % MBIG
35+ sa1_21 = (1 - (823731426 + 311171744 * mj )) % MBIG
36+ sa1_22 = ((2147465936 + 10946 * mj ) - (233 + 2147483503 * mj )) % MBIG
37+ sa1_23 = ((433494437 + 1879569351 * mj ) - (2141780760 + 3524578 * mj )) % MBIG
38+ sa1_24 = ((34 + 2147483626 * mj ) - mj ) % MBIG
39+ sa1_25 = ((2146651607 + 514229 * mj ) - sa1__1 ) % MBIG
40+ sa1_26 = ((1037658251 + 298632857 * mj ) - sa1__2 ) % MBIG
41+ sa1_27 = ((1597 + 2147482660 * mj ) - sa1__3 ) % MBIG
42+ sa1_28 = ((2108395478 + 24157817 * mj ) - sa1__4 ) % MBIG
10643 sa1_29 = ((2 * mj - 3 ) - sa1__5 ) % MBIG
107- sa1_30 = (sa0_30 - sa1__6 ) % MBIG
108- sa1_31 = (sa0_31 - sa1__7 ) % MBIG
109- sa1_32 = (sa0_32 - sa1__8 ) % MBIG
110- sa1_33 = (sa0_33 - sa1__9 ) % MBIG
111- sa1_34 = (sa0_34 - sa1_10 ) % MBIG
112- sa1_35 = (sa0_35 - sa1_11 ) % MBIG
113- sa1_36 = (sa0_36 - sa1_12 ) % MBIG
114- sa1_37 = (sa0_37 - sa1_13 ) % MBIG
115- sa1_38 = (sa0_38 - sa1_14 ) % MBIG
116- sa1_39 = (sa0_39 - sa1_15 ) % MBIG
117- sa1_40 = (sa0_40 - sa1_16 ) % MBIG
118- sa1_41 = (sa0_41 - sa1_17 ) % MBIG
44+ sa1_30 = (( 75025 + 2147437279 * mj ) - sa1__6 ) % MBIG
45+ sa1_31 = (( 311171744 + 1134903170 * mj ) - sa1__7 ) % MBIG
46+ sa1_32 = (( 2147483503 + 89 * mj ) - sa1__8 ) % MBIG
47+ sa1_33 = (( 3524578 + 2145305338 * mj ) - sa1__9 ) % MBIG
48+ sa1_34 = (( 1779258255 + 1776683645 * mj ) - sa1_10 ) % MBIG
49+ sa1_35 = (( 2147476882 + 4181 * mj ) - sa1_11 ) % MBIG
50+ sa1_36 = (( 165580141 + 2045149492 * mj ) - sa1_12 ) % MBIG
51+ sa1_37 = (( 13 + 2147483639 * mj ) - sa1_13 ) % MBIG
52+ sa1_38 = (( 2147165836 + 196418 * mj ) - sa1_14 ) % MBIG
53+ sa1_39 = (( 1336291108 + 1634923965 * mj ) - sa1_15 ) % MBIG
54+ sa1_40 = (( 610 + 2147483270 * mj ) - sa1_16 ) % MBIG
55+ sa1_41 = (( 2132553295 + 9227465 * mj ) - sa1_17 ) % MBIG
11956 sa1_42 = ((mj - 1 ) - sa1_18 ) % MBIG
120- sa1_43 = (sa0_43 - sa1_19 ) % MBIG
121- sa1_44 = (sa0_44 - sa1_20 ) % MBIG
122- sa1_45 = (sa0_45 - sa1_21 ) % MBIG
123- sa1_46 = (sa0_46 - sa1_22 ) % MBIG
124- sa1_47 = (sa0_47 - sa1_23 ) % MBIG
125- sa1_48 = (sa0_48 - sa1_24 ) % MBIG
126- sa1_49 = (sa0_49 - sa1_25 ) % MBIG
57+ sa1_43 = (( 28657 + 2147465936 * mj ) - sa1_19 ) % MBIG
58+ sa1_44 = (( 1446074914 + 433494437 * mj ) - sa1_20 ) % MBIG
59+ sa1_45 = (( 2147483592 + 34 * mj ) - sa1_21 ) % MBIG
60+ sa1_46 = (( 1346269 + 2146651607 * mj ) - sa1_22 ) % MBIG
61+ sa1_47 = (( 1408458253 + 1037658251 * mj ) - sa1_23 ) % MBIG
62+ sa1_48 = (( 2147481063 + 1597 * mj ) - sa1_24 ) % MBIG
63+ sa1_49 = (( 63245986 + 2108395478 * mj ) - sa1_25 ) % MBIG
12764 sa1_50 = ((5 - 3 * mj ) - sa1_26 ) % MBIG
128- sa1_51 = (sa0_51 - sa1_27 ) % MBIG
129- sa1_52 = (sa0_52 - sa1_28 ) % MBIG
130- sa1_53 = (sa0_53 - sa1_29 ) % MBIG
131- sa1_54 = (sa0_54 - sa1_30 ) % MBIG
65+ sa1_51 = (( 2147362254 + 75025 * mj ) - sa1_27 ) % MBIG
66+ sa1_52 = (( 823731426 + 311171744 * mj ) - sa1_28 ) % MBIG
67+ sa1_53 = (( 233 + 2147483503 * mj ) - sa1_29 ) % MBIG
68+ sa1_54 = (( 2141780760 + 3524578 * mj ) - sa1_30 ) % MBIG
13269 sa1_55 = (mj - sa1_31 ) % MBIG
13370
13471 sa2__1 = (sa1__1 - sa1_32 ) % MBIG
0 commit comments