Luxophia

Форк
0
/
LUX.Random.SFMT.P2281.pas 
253 строки · 6.6 Кб
1
unit LUX.Random.SFMT.P2281;
2

3
interface //#################################################################### ■
4

5
uses LUX, LUX.D3, LUX.D4,
6
     LUX.Random,
7
     LUX.Random.SFMT;
8

9
type //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【型】
10

11
     //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
12

13
     //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
14

15
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom32SMT2281
16

17
     TRandom32SMT2281 = class( TRandom32SMT )
18
     private const
19
     private
20
     protected
21
       ///// アクセス
22
       function GetSFMT_MEXP :Int32s; override;
23
       function GetSFMT_POS1 :Int32s; override;
24
       function GetSFMT_SL1 :Int32s; override;
25
       function GetSFMT_SL2 :Int32s; override;
26
       function GetSFMT_SR1 :Int32s; override;
27
       function GetSFMT_SR2 :Int32s; override;
28
       function GetSFMT_MSK1 :Int32u; override;
29
       function GetSFMT_MSK2 :Int32u; override;
30
       function GetSFMT_MSK3 :Int32u; override;
31
       function GetSFMT_MSK4 :Int32u; override;
32
       function GetSFMT_PARITY1 :Int32u; override;
33
       function GetSFMT_PARITY2 :Int32u; override;
34
       function GetSFMT_PARITY3 :Int32u; override;
35
       function GetSFMT_PARITY4 :Int32u; override;
36
       function GetSFMT_IDSTR :String; override;
37
     public
38
     end;
39

40
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom64SMT2281
41

42
     TRandom64SMT2281 = class( TRandom64SMT )
43
     private const
44
     private
45
     protected
46
       ///// アクセス
47
       function GetSFMT_MEXP :Int32s; override;
48
       function GetSFMT_POS1 :Int32s; override;
49
       function GetSFMT_SL1 :Int32s; override;
50
       function GetSFMT_SL2 :Int32s; override;
51
       function GetSFMT_SR1 :Int32s; override;
52
       function GetSFMT_SR2 :Int32s; override;
53
       function GetSFMT_MSK1 :Int32u; override;
54
       function GetSFMT_MSK2 :Int32u; override;
55
       function GetSFMT_MSK3 :Int32u; override;
56
       function GetSFMT_MSK4 :Int32u; override;
57
       function GetSFMT_PARITY1 :Int32u; override;
58
       function GetSFMT_PARITY2 :Int32u; override;
59
       function GetSFMT_PARITY3 :Int32u; override;
60
       function GetSFMT_PARITY4 :Int32u; override;
61
       function GetSFMT_IDSTR :String; override;
62
     public
63
     end;
64

65
//const //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【定数】
66

67
//var //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【変数】
68

69
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
70

71
implementation //############################################################### ■
72

73
uses System.SysUtils;
74

75
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
76

77
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
78

79
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom32SMT2281
80

81
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
82

83
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
84

85
function TRandom32SMT2281.GetSFMT_MEXP :Int32s;
86
begin
87
     Result := 2281;
88
end;
89

90
function TRandom32SMT2281.GetSFMT_POS1 :Int32s;
91
begin
92
     Result := 12;
93
end;
94

95
function TRandom32SMT2281.GetSFMT_SL1 :Int32s;
96
begin
97
     Result := 19;
98
end;
99

100
function TRandom32SMT2281.GetSFMT_SL2 :Int32s;
101
begin
102
     Result := 1;
103
end;
104

105
function TRandom32SMT2281.GetSFMT_SR1 :Int32s;
106
begin
107
     Result := 5;
108
end;
109

110
function TRandom32SMT2281.GetSFMT_SR2 :Int32s;
111
begin
112
     Result := 1;
113
end;
114

115
function TRandom32SMT2281.GetSFMT_MSK1 :Int32u;
116
begin
117
     Result := $bff7ffbf;
118
end;
119

120
function TRandom32SMT2281.GetSFMT_MSK2 :Int32u;
121
begin
122
     Result := $fdfffffe;
123
end;
124

125
function TRandom32SMT2281.GetSFMT_MSK3 :Int32u;
126
begin
127
     Result := $f7ffef7f;
128
end;
129

130
function TRandom32SMT2281.GetSFMT_MSK4 :Int32u;
131
begin
132
     Result := $f2f7cbbf;
133
end;
134

135
function TRandom32SMT2281.GetSFMT_PARITY1 :Int32u;
136
begin
137
     Result := $00000001;
138
end;
139

140
function TRandom32SMT2281.GetSFMT_PARITY2 :Int32u;
141
begin
142
     Result := $00000000;
143
end;
144

145
function TRandom32SMT2281.GetSFMT_PARITY3 :Int32u;
146
begin
147
     Result := $00000000;
148
end;
149

150
function TRandom32SMT2281.GetSFMT_PARITY4 :Int32u;
151
begin
152
     Result := $41dfa600;
153
end;
154

155
function TRandom32SMT2281.GetSFMT_IDSTR :String;
156
begin
157
     Result := 'SFMT-2281:12-19-1-5-1:bff7ffbf-fdfffffe-f7ffef7f-f2f7cbbf';
158
end;
159

160
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
161

162
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom64SMT2281
163

164
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
165

166
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
167

168
function TRandom64SMT2281.GetSFMT_MEXP :Int32s;
169
begin
170
     Result := 2281;
171
end;
172

173
function TRandom64SMT2281.GetSFMT_POS1 :Int32s;
174
begin
175
     Result := 12;
176
end;
177

178
function TRandom64SMT2281.GetSFMT_SL1 :Int32s;
179
begin
180
     Result := 19;
181
end;
182

183
function TRandom64SMT2281.GetSFMT_SL2 :Int32s;
184
begin
185
     Result := 1;
186
end;
187

188
function TRandom64SMT2281.GetSFMT_SR1 :Int32s;
189
begin
190
     Result := 5;
191
end;
192

193
function TRandom64SMT2281.GetSFMT_SR2 :Int32s;
194
begin
195
     Result := 1;
196
end;
197

198
function TRandom64SMT2281.GetSFMT_MSK1 :Int32u;
199
begin
200
     Result := $bff7ffbf;
201
end;
202

203
function TRandom64SMT2281.GetSFMT_MSK2 :Int32u;
204
begin
205
     Result := $fdfffffe;
206
end;
207

208
function TRandom64SMT2281.GetSFMT_MSK3 :Int32u;
209
begin
210
     Result := $f7ffef7f;
211
end;
212

213
function TRandom64SMT2281.GetSFMT_MSK4 :Int32u;
214
begin
215
     Result := $f2f7cbbf;
216
end;
217

218
function TRandom64SMT2281.GetSFMT_PARITY1 :Int32u;
219
begin
220
     Result := $00000001;
221
end;
222

223
function TRandom64SMT2281.GetSFMT_PARITY2 :Int32u;
224
begin
225
     Result := $00000000;
226
end;
227

228
function TRandom64SMT2281.GetSFMT_PARITY3 :Int32u;
229
begin
230
     Result := $00000000;
231
end;
232

233
function TRandom64SMT2281.GetSFMT_PARITY4 :Int32u;
234
begin
235
     Result := $41dfa600;
236
end;
237

238
function TRandom64SMT2281.GetSFMT_IDSTR :String;
239
begin
240
     Result := 'SFMT-2281:12-19-1-5-1:bff7ffbf-fdfffffe-f7ffef7f-f2f7cbbf';
241
end;
242

243
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
244

245
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
246

247
//############################################################################## □
248

249
initialization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 初期化
250

251
finalization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 最終化
252

253
end. //######################################################################### ■

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.