Luxophia

Форк
0
/
LUX.Random.SFMT.P1279.pas 
253 строки · 6.6 Кб
1
unit LUX.Random.SFMT.P1279;
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
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom32SMT1279
16

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

39
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom64SMT1279
40

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

63
//const //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【定数】
64

65
//var //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【変数】
66

67
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
68

69
implementation //############################################################### ■
70

71
uses System.SysUtils;
72

73
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
74

75
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
76

77
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom32SMT1279
78

79
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
80

81
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
82

83
/////////////////////////////////////////////////////////////////////// アクセス
84

85
function TRandom32SMT1279.GetSFMT_MEXP :Int32s;
86
begin
87
     Result := 1279;
88
end;
89

90
function TRandom32SMT1279.GetSFMT_POS1 :Int32s;
91
begin
92
     Result := 7;
93
end;
94

95
function TRandom32SMT1279.GetSFMT_SL1 :Int32s;
96
begin
97
     Result := 14;
98
end;
99

100
function TRandom32SMT1279.GetSFMT_SL2 :Int32s;
101
begin
102
     Result := 3;
103
end;
104

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

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

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

120
function TRandom32SMT1279.GetSFMT_MSK2 :Int32u;
121
begin
122
     Result := $7fefcfff;
123
end;
124

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

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

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

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

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

150
function TRandom32SMT1279.GetSFMT_PARITY4 :Int32u;
151
begin
152
     Result := $20000000;
153
end;
154

155
function TRandom32SMT1279.GetSFMT_IDSTR :String;
156
begin
157
     Result := 'SFMT-1279:7-14-3-5-1:f7fefffd-7fefcfff-aff3ef3f-b5ffff7f';
158
end;
159

160
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TRandom64SMT1279
161

162
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
163

164
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
165

166
/////////////////////////////////////////////////////////////////////// アクセス
167

168
function TRandom64SMT1279.GetSFMT_MEXP :Int32s;
169
begin
170
     Result := 1279;
171
end;
172

173
function TRandom64SMT1279.GetSFMT_POS1 :Int32s;
174
begin
175
     Result := 7;
176
end;
177

178
function TRandom64SMT1279.GetSFMT_SL1 :Int32s;
179
begin
180
     Result := 14;
181
end;
182

183
function TRandom64SMT1279.GetSFMT_SL2 :Int32s;
184
begin
185
     Result := 3;
186
end;
187

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

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

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

203
function TRandom64SMT1279.GetSFMT_MSK2 :Int32u;
204
begin
205
     Result := $7fefcfff;
206
end;
207

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

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

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

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

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

233
function TRandom64SMT1279.GetSFMT_PARITY4 :Int32u;
234
begin
235
     Result := $20000000;
236
end;
237

238
function TRandom64SMT1279.GetSFMT_IDSTR :String;
239
begin
240
     Result := 'SFMT-1279:7-14-3-5-1:f7fefffd-7fefcfff-aff3ef3f-b5ffff7f';
241
end;
242

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

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

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

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

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

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

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

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

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

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