Passed
Push — main ( 38376b...7b37bf )
by N.
03:15
created

RKod::antal_rader()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 2
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Enum RKod.
5
 * @author Niklas Dougherty
6
 */
7
8
declare(strict_types=1);
9
10
namespace Tips\Moduler\System;
11
12
/**
13
 * Enum RKod.
14
 */
15
enum RKod: string {
16
	case R_13_0_59049_1 = 'R_13_0_59049_1';
17
18
	case R_12_1_52488_1 = 'R_12_1_52488_1';
19
	case R_12_0_27702_1 = 'R_12_0_27702_1';
20
21
//	case R_11_2_34992_1 = 'R_11_2_34992_1';
22
	case R_11_1_18954_1 = 'R_11_1_18954_1';
23
	case R_11_0_9477_1 = 'R_11_0_9477_1';
24
25
	case R_10_3_25272_1 = 'R_10_3_25272_1';
26
	case R_10_2_13122_1 = 'R_10_2_13122_1';
27
	case R_10_1_6804_1 = 'R_10_1_6804_1';
28
	case R_10_0_3645_1 = 'R_10_0_3645_1';
29
30
	case R_9_4_17496_1 = 'R_9_4_17496_1';
31
	case R_9_3_9612_1 = 'R_9_3_9612_1';
32
	case R_9_2_4806_1 = 'R_9_2_4806_1';
33
	case R_9_1_2538_1 = 'R_9_1_2538_1';
34
	case R_9_0_1269_1 = 'R_9_0_1269_1';
35
36
	case R_8_5_11664_1 = 'R_8_5_11664_1';
37
	case R_8_4_6408_1 = 'R_8_4_6408_1';
38
	case R_8_3_3374_1 = 'R_8_3_3374_1';
39
	case R_8_2_1728_1 = 'R_8_2_1728_1';
40
	case R_8_1_948_1 = 'R_8_1_948_1';
41
	case R_8_0_486_1 = 'R_8_0_486_1';
42
43
	case R_7_6_8352_1 = 'R_7_6_8352_1';
44
	case R_7_5_4374_1 = 'R_7_5_4374_1';
45
	case R_7_4_2304_1 = 'R_7_4_2304_1';
46
	case R_7_3_1296_1 = 'R_7_3_1296_1';
47
	case R_7_2_648_1 = 'R_7_2_648_1';
48
	case R_7_1_333_1 = 'R_7_1_333_1';
49
	case R_7_0_186_1 = 'R_7_0_186_1';
50
51
	case R_6_7_5832_1 = 'R_6_7_5832_1';
52
	case R_6_6_2916_1 = 'R_6_6_2916_1';
53
	case R_6_5_1620_1 = 'R_6_5_1620_1';
54
	case R_6_4_864_1 = 'R_6_4_864_1';
55
	case R_6_3_468_1 = 'R_6_3_468_1';
56
	case R_6_2_252_1 = 'R_6_2_252_1';
57
	case R_6_1_132_1 = 'R_6_1_132_1';
58
	case R_6_0_73_1 = 'R_6_0_73_1';
59
60
	case R_5_8_3888_1 = 'R_5_8_3888_1';
61
	case R_5_7_1944_1 = 'R_5_7_1944_1';
62
	case R_5_6_1184_1 = 'R_5_6_1184_1';
63
	case R_5_5_624_1 = 'R_5_5_624_1';
64
	case R_5_4_324_1 = 'R_5_4_324_1';
65
	case R_5_3_168_1 = 'R_5_3_168_1';
66
	case R_5_2_96_1 = 'R_5_2_96_1';
67
	case R_5_1_54_1 = 'R_5_1_54_1';
68
	case R_5_0_27_1 = 'R_5_0_27_1';
69
70
	case R_4_9_2592_1 = 'R_4_9_2592_1';
71
	case R_4_8_1296_1 = 'R_4_8_1296_1';
72
	case R_4_7_852_1 = 'R_4_7_852_1';
73
	case R_4_6_432_1 = 'R_4_6_432_1';
74
	case R_4_5_238_1 = 'R_4_5_238_1';
75
	case R_4_4_128_1 = 'R_4_4_128_1';
76
	case R_4_3_72_1 = 'R_4_3_72_1';
77
	case R_4_2_36_1 = 'R_4_2_36_1';
78
	case R_4_1_18_1 = 'R_4_1_18_1';
79
	case R_4_0_9_1 = 'R_4_0_9_1';
80
81
	case R_3_10_2016_1 = 'R_3_10_2016_1';
82
	case R_3_9_1056_1 = 'R_3_9_1056_1';
83
	case R_3_8_576_1 = 'R_3_8_576_1';
84
	case R_3_7_312_1 = 'R_3_7_312_1';
85
	case R_3_6_171_1 = 'R_3_6_171_1';
86
	case R_3_5_92_1 = 'R_3_5_92_1';
87
	case R_3_4_48_1 = 'R_3_4_48_1';
88
	case R_3_3_24_1 = 'R_3_3_24_1';
89
	case R_3_2_16_1 = 'R_3_2_16_1';
90
	case R_3_1_9_1 = 'R_3_1_9_1';
91
	case R_3_0_5_1 = 'R_3_0_5_1';
92
93
	case R_2_11_1472_1 = 'R_2_11_1472_1';
94
	case R_2_10_768_1 = 'R_2_10_768_1';
95
	case R_2_9_408_1 = 'R_2_9_408_1';
96
	case R_2_8_232_1 = 'R_2_8_232_1';
97
	case R_2_7_122_1 = 'R_2_7_122_1';
98
	case R_2_6_64_1 = 'R_2_6_64_1';
99
	case R_2_5_36_1 = 'R_2_5_36_1';
100
	case R_2_4_20_1 = 'R_2_4_20_1';
101
	case R_2_3_12_1 = 'R_2_3_12_1';
102
	case R_2_2_6_1 = 'R_2_2_6_1';
103
	case R_2_1_4_1 = 'R_2_1_4_1';
104
	case R_2_0_3_1 = 'R_2_0_3_1';
105
106
	case R_1_12_992_1 = 'R_1_12_992_1';
107
	case R_1_11_548_1 = 'R_1_11_548_1';
108
	case R_1_10_284_1 = 'R_1_10_284_1';
109
	case R_1_9_160_1 = 'R_1_9_160_1';
110
	case R_1_8_84_1 = 'R_1_8_84_1';
111
	case R_1_7_48_1 = 'R_1_7_48_1';
112
	case R_1_6_24_1 = 'R_1_6_24_1';
113
	case R_1_5_16_1 = 'R_1_5_16_1';
114
	case R_1_4_8_1 = 'R_1_4_8_1';
115
	case R_1_3_6_1 = 'R_1_3_6_1';
116
	case R_1_2_3_1 = 'R_1_2_3_1';
117
	case R_1_1_2_1 = 'R_1_1_2_1';
118
	case R_1_0_1_1 = 'R_1_0_1_1';
119
120
	case R_0_13_704_1 = 'R_0_13_704_1';
121
	case R_0_12_380_1 = 'R_0_12_380_1';
122
	case R_0_11_192_1 = 'R_0_11_192_1';
123
	case R_0_10_120_1 = 'R_0_10_120_1';
124
	case R_0_9_62_1 = 'R_0_9_62_1';
125
	case R_0_8_32_1 = 'R_0_8_32_1';
126
	case R_0_7_16_1 = 'R_0_7_16_1';
127
	case R_0_6_12_1 = 'R_0_6_12_1';
128
	case R_0_5_7_1 = 'R_0_5_7_1';
129
	case R_0_4_4_1 = 'R_0_4_4_1';
130
	case R_0_3_2_1 = 'R_0_3_2_1';
131
	case R_0_2_2_1 = 'R_0_2_2_1';
132
	case R_0_1_1_1 = 'R_0_1_1_1';
133
134
	case R_13_0_6561_2 = 'R_13_0_6561_2';
135
136
	case R_12_1_4374_2 = 'R_12_1_4374_2';
137
	case R_12_0_2187_2 = 'R_12_0_2187_2';
138
139
	case R_11_2_2916_2 = 'R_11_2_2916_2';
140
	case R_11_1_1458_2 = 'R_11_1_1458_2';
141
	case R_11_0_729_2 = 'R_11_0_729_2';
142
143
	case R_10_3_1944_2 = 'R_10_3_1944_2';
144
	case R_10_2_1458_2 = 'R_10_2_1458_2';
145
	case R_10_1_729_2 = 'R_10_1_729_2';
146
	case R_10_0_555_2 = 'R_10_0_555_2';
147
148
	case R_9_4_1863_2 = 'R_9_4_1863_2'; // 1782
149
	case R_9_3_1215_2 = 'R_9_3_1215_2'; // 1184
150
	case R_9_2_729_2 = 'R_9_2_729_2';
151
	case R_9_1_396_2 = 'R_9_1_396_2';
152
	case R_9_0_219_2 = 'R_9_0_219_2';
153
154
	case R_8_5_1566_2 = 'R_8_5_1566_2';
155
	case R_8_4_972_2 = 'R_8_4_972_2'; // 876
156
	case R_8_3_504_2 = 'R_8_3_504_2';
157
	case R_8_2_288_2 = 'R_8_2_288_2';
158
	case R_8_1_162_2 = 'R_8_1_162_2';
159
	case R_8_0_81_2 = 'R_8_0_81_2';
160
161
	case R_7_6_1296_2 = 'R_7_6_1296_2'; // 1280
162
	case R_7_5_688_2 = 'R_7_5_688_2';
163
	case R_7_4_384_2 = 'R_7_4_384_2'; // 374
164
	case R_7_3_216_2 = 'R_7_3_216_2';
165
	case R_7_2_108_2 = 'R_7_2_108_2';
166
	case R_7_1_54_2 = 'R_7_1_54_2';
167
	case R_7_0_34_2 = 'R_7_0_34_2';
168
169
	case R_6_7_936_2 = 'R_6_7_936_2';
170
	case R_6_6_513_2 = 'R_6_6_513_2';
171
	case R_6_5_276_2 = 'R_6_5_276_2';
172
	case R_6_4_144_2 = 'R_6_4_144_2';
173
	case R_6_3_72_2 = 'R_6_3_72_2';
174
	case R_6_2_48_2 = 'R_6_2_48_2';
175
	case R_6_1_27_2 = 'R_6_1_27_2';
176
	case R_6_0_17_2 = 'R_6_0_17_2';
177
178
	case R_5_8_665_2 = 'R_5_8_665_2'; // 664
179
	case R_5_7_348_2 = 'R_5_7_348_2';
180
	case R_5_6_192_2 = 'R_5_6_192_2';
181
	case R_5_5_108_2 = 'R_5_5_108_2';
182
	case R_5_4_64_2 = 'R_5_4_64_2';
183
	case R_5_3_36_2 = 'R_5_3_36_2';
184
	case R_5_2_21_2 = 'R_5_2_21_2';
185
	case R_5_1_12_2 = 'R_5_1_12_2';
186
	case R_5_0_8_2 = 'R_5_0_8_2';
187
188
	case R_4_9_480_2 = 'R_4_9_480_2';
189
	case R_4_8_252_2 = 'R_4_8_252_2';
190
	case R_4_7_144_2 = 'R_4_7_144_2';
191
	case R_4_6_72_2 = 'R_4_6_72_2';
192
	case R_4_5_48_2 = 'R_4_5_48_2';
193
	case R_4_4_24_2 = 'R_4_4_24_2';
194
	case R_4_3_18_2 = 'R_4_3_18_2';
195
	case R_4_2_10_2 = 'R_4_2_10_2';
196
	case R_4_1_6_2 = 'R_4_1_6_2';
197
	case R_4_0_3_2 = 'R_4_0_3_2';
198
199
	case R_3_10_356_2 = 'R_3_10_356_2';
200
	case R_3_9_188_2 = 'R_3_9_188_2';
201
	case R_3_8_96_2 = 'R_3_8_96_2';
202
	case R_3_7_56_2 = 'R_3_7_56_2';
203
	case R_3_6_36_2 = 'R_3_6_36_2';
204
	case R_3_5_23_2 = 'R_3_5_23_2';
205
	case R_3_4_13_2 = 'R_3_4_13_2';
206
	case R_3_3_8_2 = 'R_3_3_8_2';
207
	case R_3_2_5_2 = 'R_3_2_5_2';
208
	case R_3_1_3_2 = 'R_3_1_3_2';
209
	case R_3_0_3_2 = 'R_3_0_3_2';
210
211
	case R_2_11_256_2 = 'R_2_11_256_2';
212
	case R_2_10_144_2 = 'R_2_10_144_2';
213
	case R_2_9_74_2 = 'R_2_9_74_2';
214
	case R_2_8_48_2 = 'R_2_8_48_2';
215
	case R_2_7_28_2 = 'R_2_7_28_2';
216
	case R_2_6_16_2 = 'R_2_6_16_2';
217
	case R_2_5_11_2 = 'R_2_5_11_2';
218
	case R_2_4_6_2 = 'R_2_4_6_2';
219
	case R_2_3_4_2 = 'R_2_3_4_2';
220
	case R_2_2_3_2 = 'R_2_2_3_2';
221
	case R_2_1_2_2 = 'R_2_1_2_2';
222
	case R_2_0_1_2 = 'R_2_0_1_2';
223
224
	case R_1_12_179_2 = 'R_1_12_179_2';
225
	case R_1_11_96_2 = 'R_1_11_96_2';
226
	case R_1_10_60_2 = 'R_1_10_60_2';
227
	case R_1_9_35_2 = 'R_1_9_35_2';
228
	case R_1_8_20_2 = 'R_1_8_20_2';
229
	case R_1_7_12_2 = 'R_1_7_12_2';
230
	case R_1_6_8_2 = 'R_1_6_8_2';
231
	case R_1_5_6_2 = 'R_1_5_6_2';
232
	case R_1_4_3_2 = 'R_1_4_3_2';
233
	case R_1_3_2_2 = 'R_1_3_2_2';
234
	case R_1_2_2_2 = 'R_1_2_2_2';
235
	case R_1_1_1_2 = 'R_1_1_1_2';
236
237
	case R_0_13_128_2 = 'R_0_13_128_2';
238
	case R_0_12_78_2 = 'R_0_12_78_2';
239
	case R_0_11_44_2 = 'R_0_11_44_2';
240
	case R_0_10_30_2 = 'R_0_10_30_2';
241
	case R_0_9_16_2 = 'R_0_9_16_2';
242
	case R_0_8_12_2 = 'R_0_8_12_2';
243
	case R_0_7_7_2 = 'R_0_7_7_2';
244
	case R_0_6_4_2 = 'R_0_6_4_2';
245
	case R_0_5_2_2 = 'R_0_5_2_2';
246
	case R_0_4_2_2 = 'R_0_4_2_2';
247
	case R_0_3_2_2 = 'R_0_3_2_2';
248
	case R_0_2_1_2 = 'R_0_2_1_2';
249
250
	public const GARANTITABELL = [
251
		'R_13_0_59049_1' => [3.7, 96.3, 96.3, 100.0],
252
253
		'R_12_1_52488_1' => [4.9, 95.3, 100.0, 100.0],
254
		'R_12_0_27702_1' => [5.2, 96.3, 100.0, 100.0],
255
256
		//	'R_11_2_34992_1' => [0, 0, 0, 0],
257
		'R_11_1_18954_1' => [5.3, 100.0, 100.0, 100.0],
258
		'R_11_0_9477_1' => [5.3, 96.3, 100.0, 100.0],
259
260
		'R_10_3_25272_1' => [5.3, 98.1, 100.0, 100.0],
261
		'R_10_2_13122_1' => [5.6, 98.1, 100.0, 100.0],
262
		'R_10_1_6804_1' => [5.8, 96.3, 99.2, 100.0],
263
		'R_10_0_3645_1' => [6.2, 93.8, 98.8, 100.0],
264
265
		'R_9_4_17496_1' => [5.6, 98.1, 100.0, 100.0],
266
		'R_9_3_9612_1' => [6.1, 100.0, 99.9, 100.0],
267
		'R_9_2_4806_1' => [6.1, 96.4, 99.4, 100.0],
268
		'R_9_1_2538_1' => [6.4, 100.0, 98.9, 100.0],
269
		'R_9_0_1269_1' => [6.4, 96.6, 98.8, 100.0],
270
271
		'R_8_5_11664_1' => [5.6, 94.4, 100.0, 100.0],
272
		'R_8_4_6408_1' => [6.1, 94.8, 100.0, 100.0],
273
		'R_8_3_3374_1' => [6.4, 98.3, 99.5, 100.0],
274
		'R_8_2_1728_1' => [6.6, 95.4, 100.0, 100.0],
275
		'R_8_1_948_1' => [7.2, 95.6, 99.9, 100.0],
276
		'R_8_0_486_1' => [7.4, 100.0, 100.0, 100.0],
277
278
		'R_7_6_8352_1' => [6.0, 94.7, 100.0, 100.0],
279
		'R_7_5_4374_1' => [6.3, 99.8, 98.7, 100.0],
280
		'R_7_4_2304_1' => [6.6, 95.4, 99.2, 100.0],
281
		'R_7_3_1296_1' => [7.4, 100.0, 100.0, 100.0],
282
		'R_7_2_648_1' => [7.4, 99.2, 100.0, 100.0],
283
		'R_7_1_333_1' => [7.6, 99.0, 100.0, 100.0],
284
		'R_7_0_186_1' => [8.5, 96.3, 98.6, 100.0],
285
286
		'R_6_7_5832_1' => [6.3, 100.0, 99.5, 100.0],
287
		'R_6_6_2916_1' => [6.3, 99.5, 97.3, 100.0],
288
		'R_6_5_1620_1' => [6.9, 94.0, 99.2, 100.0],
289
		'R_6_4_864_1' => [7.4, 100.0, 100.0, 100.0],
290
		'R_6_3_468_1' => [8.0, 94.1, 100.0, 100.0],
291
		'R_6_2_252_1' => [8.6, 98.5, 100.0, 100.0],
292
		'R_6_1_132_1' => [9.1, 100.0, 95.9, 100.0],
293
		'R_6_0_73_1' => [10.0, 96.0, 99.2, 100.0],
294
295
		'R_5_8_3888_1' => [6.3, 100.0, 95.1, 100.0],
296
		'R_5_7_1944_1' => [6.3, 98.4, 95.1, 100.0],
297
		'R_5_6_1184_1' => [7.6, 95.8, 100.0, 100.0],
298
		'R_5_5_624_1' => [8.0, 96.2, 100.0, 100.0],
299
		'R_5_4_324_1' => [8.3, 91.7, 100.0, 100.0],
300
		'R_5_3_168_1' => [8.6, 95.4, 100.0, 100.0],
301
		'R_5_2_96_1' => [9.9, 96.9, 96.3, 100.0],
302
		'R_5_1_54_1' => [11.1, 100.0, 100.0, 100.0],
303
		'R_5_0_27_1' => [11.1, 88.9, 100.0, 100.0],
304
305
		'R_4_9_2592_1' => [6.3, 100.0, 95.1, 100.0],
306
		'R_4_8_1296_1' => [6.3, 95.1, 95.1, 100.0],
307
		'R_4_7_852_1' => [8.2, 95.4, 100.0, 100.0],
308
		'R_4_6_432_1' => [8.3, 91.7, 100.0, 100.0],
309
		'R_4_5_238_1' => [9.2, 92.7, 100.0, 100.0],
310
		'R_4_4_128_1' => [9.9, 94.1, 98.8, 100.0],
311
		'R_4_3_72_1' => [11.1, 100.0, 94.4, 100.0],
312
		'R_4_2_36_1' => [11.1, 100.0, 100.0, 100.0],
313
		'R_4_1_18_1' => [11.1, 88.9, 100.0, 100.0],
314
		'R_4_0_9_1' => [11.1, 88.9, 88.9, 100.0],
315
316
		'R_3_10_2016_1' => [7.3, 92.7, 100.0, 100.0],
317
		'R_3_9_1056_1' => [7.6, 92.4, 99.7, 100.0],
318
		'R_3_8_576_1' => [8.3, 91.7, 100.0, 100.0],
319
		'R_3_7_312_1' => [9.0, 93.3, 100.0, 100.0],
320
		'R_3_6_171_1' => [9.9, 96.2, 99.7, 100.0],
321
		'R_3_5_92_1' => [10.6, 95.8, 98.6, 100.0],
322
		'R_3_4_48_1' => [11.1, 94.4, 100.0, 100.0],
323
		'R_3_3_24_1' => [11.1, 94.4, 94.4, 100.0],
324
		'R_3_2_16_1' => [14.8, 92.6, 100.0, 100.0],
325
		'R_3_1_9_1' => [16.7, 83.3, 100.0, 100.0],
326
		'R_3_0_5_1' => [18.5, 81.5, 81.5, 100.0],
327
328
		'R_2_11_1472_1' => [8.0, 96.9, 98.8, 100.0],
329
		'R_2_10_768_1' => [8.3, 91.7, 100.0, 100.0],
330
		'R_2_9_408_1' => [8.9, 92.2, 100.0, 100.0],
331
		'R_2_8_232_1' => [10.1, 95.1, 99.7, 100.0],
332
		'R_2_7_122_1' => [10.6, 98.1, 99.1, 100.0],
333
		'R_2_6_64_1' => [11.1, 97.2, 97.2, 100.0],
334
		'R_2_5_36_1' => [12.5, 98.6, 93.1, 100.0],
335
		'R_2_4_20_1' => [13.9, 91.7, 94.4, 100.0],
336
		'R_2_3_12_1' => [16.7, 91.7, 94.4, 100.0],
337
		'R_2_2_6_1' => [16.7, 83.3, 100.0, 94.4],
338
		'R_2_1_4_1' => [22.2, 100.0, 77.8, 66.7],
339
		'R_2_0_3_1' => [33.3, 100.0, 66.7, 0.0],
340
341
		'R_1_12_992_1' => [8.1, 92.7, 99.7, 100.0],
342
		'R_1_11_548_1' => [8.9, 98.5, 93.6, 100.0],
343
		'R_1_10_284_1' => [9.2, 96.2, 93.5, 100.0],
344
		'R_1_9_160_1' => [10.4, 91.7, 99.0, 100.0],
345
		'R_1_8_84_1' => [10.9, 93.2, 96.9, 100.0],
346
		'R_1_7_48_1' => [12.5, 88.5, 99.5, 100.0],
347
		'R_1_6_24_1' => [12.5, 95.8, 87.5, 100.0],
348
		'R_1_5_16_1' => [16.7, 95.8, 96.9, 100.0],
349
		'R_1_4_8_1' => [16.7, 83.3, 95.8, 100.0],
350
		'R_1_3_6_1' => [25.0, 83.3, 95.8, 87.5],
351
		'R_1_2_3_1' => [25.0, 91.7, 75.0, 41.7],
352
		'R_1_1_2_1' => [33.3, 100.0, 66.7, 0.0],
353
		'R_1_0_1_1' => [33.3, 66.7, 0.0, 0.0],
354
355
		'R_0_13_704_1' => [8.6, 96.5, 96.5, 100.0],
356
		'R_0_12_380_1' => [9.3, 98.8, 93.9, 100.0],
357
		'R_0_11_192_1' => [9.4, 92.1, 93.6, 99.9],
358
		'R_0_10_120_1' => [11.7, 94.7, 97.7, 100.0],
359
		'R_0_9_62_1' => [12.1, 89.8, 97.7, 100.0],
360
		'R_0_8_32_1' => [12.5, 89.1, 98.4, 100.0],
361
		'R_0_7_16_1' => [12.5, 87.5, 87.5, 100.0],
362
		'R_0_6_12_1' => [18.8, 90.6, 96.9, 100.0],
363
		'R_0_5_7_1' => [21.9, 87.5, 93.8, 93.8],
364
		'R_0_4_4_1' => [25.0, 100.0, 75.0, 100.0],
365
		'R_0_3_2_1' => [25.0, 75.0, 75.0, 25.0],
366
		'R_0_2_2_1' => [50.0, 100.0, 50.0, 0],
367
		'R_0_1_1_1' => [50.0, 50.0, 0, 0],
368
369
		'R_13_0_6561_2' => [0.4, 9.5, 100.0, 99.6],
370
371
		'R_12_1_4374_2' => [0.4, 9.5, 100.0, 99.6],
372
		'R_12_0_2187_2' => [0.4, 9.5, 100.0, 90.5],
373
374
		'R_11_2_2916_2' => [0.4, 9.5, 100.0, 99.6],
375
		'R_11_1_1458_2' => [0.4, 9.5, 100.0, 90.5],
376
		'R_11_0_729_2' => [0.4, 9.1, 90.5, 90.5],
377
378
		'R_10_3_1944_2' => [0.4, 9.3, 95.7, 95.1],
379
		'R_10_2_1458_2' => [0.6, 13.6, 99.4, 94.7],
380
		'R_10_1_729_2' => [0.6, 13.0, 86.4, 94.7],
381
		'R_10_0_555_2' => [0.9, 17.8, 98.7, 100.0],
382
383
		'R_9_4_1863_2' => [0.6, 12.8, 93.3, 98.6], // 1782
384
		'R_9_3_1215_2' => [0.8, 15.9, 96.8, 99.5], // 1184
385
		'R_9_2_729_2' => [0.9, 18.5, 88.0, 97.0],
386
		'R_9_1_396_2' => [1.0, 18.5, 98.2, 100.0],
387
		'R_9_0_219_2' => [1.1, 19.3, 98.1, 100.0],
388
389
		'R_8_5_1566_2' => [0.7, 15.6, 95.7, 99.9],
390
		'R_8_4_972_2' => [0.9, 17.5, 99.9, 100.0], // 876
391
		'R_8_3_504_2' => [1.0, 16.5, 92.1, 100.0],
392
		'R_8_2_288_2' => [1.1, 19.1, 97.9, 100.0],
393
		'R_8_1_162_2' => [1.2, 21.0, 98.8, 100.0],
394
		'R_8_0_81_2' => [1.2, 19.8, 88.9, 100.0],
395
396
		'R_7_6_1296_2' => [0.9, 17.8, 99.0, 100.0], // 1280
397
		'R_7_5_688_2' => [1.0, 18.4, 96.9, 100.0],
398
		'R_7_4_384_2' => [1.1, 19.4, 98.2, 100.0], // 374
399
		'R_7_3_216_2' => [1.2, 19.8, 99.6, 100.0],
400
		'R_7_2_108_2' => [1.2, 19.3, 97.1, 99.2],
401
		'R_7_1_54_2' => [1.2, 18.5, 97.5, 98.8],
402
		'R_7_0_34_2' => [1.6, 21.6, 94.2, 99.2],
403
404
		'R_6_7_936_2' => [1.0, 18.3, 98.8, 100.0],
405
		'R_6_6_513_2' => [1.1, 19.1, 98.6, 100.0],
406
		'R_6_5_276_2' => [1.2, 19.5, 98.4, 100.0],
407
		'R_6_4_144_2' => [1.2, 19.8, 98.8, 100.0],
408
		'R_6_3_72_2' => [1.2, 18.5, 93.8, 97.5],
409
		'R_6_2_48_2' => [1.6, 19.8, 91.8, 97.5],
410
		'R_6_1_27_2' => [1.9, 22.8, 92.8, 98.4],
411
		'R_6_0_17_2' => [2.3, 28.0, 90.4, 99.9],
412
413
		'R_5_8_665_2' => [1.1, 18.8, 95.1, 100.0], // 664
414
		'R_5_7_348_2' => [1.1, 17.9, 94.6, 100.0],
415
		'R_5_6_192_2' => [1.2, 19.1, 97.2, 99.2],
416
		'R_5_5_108_2' => [1.4, 20.4, 97.7, 98.8],
417
		'R_5_4_64_2' => [1.6, 22.3, 96.4, 98.9],
418
		'R_5_3_36_2' => [1.9, 23.5, 89.5, 97.5],
419
		'R_5_2_21_2' => [2.2, 24.7, 91.4, 98.5],
420
		'R_5_1_12_2' => [2.5, 27.2, 93.0, 96.7],
421
		'R_5_0_8_2' => [3.3, 29.2, 84.8, 88.5],
422
423
		'R_4_9_480_2' => [1.2, 18.6, 98.3, 100.0],
424
		'R_4_8_252_2' => [1.2, 18.9, 97.0, 100.0],
425
		'R_4_7_144_2' => [1.4, 20.8, 98.6, 99.1],
426
		'R_4_6_72_2' => [1.4, 19.4, 95.8, 98.1],
427
		'R_4_5_48_2' => [1.9, 24.1, 98.1, 98.1],
428
		'R_4_4_24_2' => [1.9, 22.2, 75.9, 96.3],
429
		'R_4_3_18_2' => [2.8, 30.6, 88.9, 100.0],
430
		'R_4_2_10_2' => [3.1, 30.2, 92.0, 94.4],
431
		'R_4_1_6_2' => [3.7, 30.9, 84.0, 86.4],
432
		'R_4_0_3_2' => [3.7, 29.6, 66.7, 74.1],
433
434
		'R_3_10_356_2' => [1.3, 20.0, 98.1, 100.0],
435
		'R_3_9_188_2' => [1.4, 20.0, 92.0, 99.8],
436
		'R_3_8_96_2' => [1.4, 19.4, 93.8, 98.6],
437
		'R_3_7_56_2' => [1.6, 21.1, 91.8, 97.6],
438
		'R_3_6_36_2' => [2.1, 25.0, 97.9, 93.8],
439
		'R_3_5_23_2' => [2.7, 28.5, 76.5, 87.0],
440
		'R_3_4_13_2' => [3.0, 27.8, 86.8, 100.0],
441
		'R_3_3_8_2' => [3.7, 32.4, 84.3, 99.1],
442
		'R_3_2_5_2' => [4.6, 37.0, 88.0, 97.2],
443
		'R_3_1_3_2' => [5.6, 38.9, 66.7, 75.9],
444
		'R_3_0_3_2' => [11.1, 63.0, 81.5, 66.7],
445
446
		'R_2_11_256_2' => [1.4, 20.1, 97.6, 99.8],
447
		'R_2_10_144_2' => [1.6, 21.4, 96.7, 99.7],
448
		'R_2_9_74_2' => [1.6, 20.4, 93.0, 97.4],
449
		'R_2_8_48_2' => [2.1, 23.6, 83.3, 97.2],
450
		'R_2_7_28_2' => [2.4, 25.3, 85.4, 95.0],
451
		'R_2_6_16_2' => [2.8, 27.8, 86.1, 98.6],
452
		'R_2_5_11_2' => [3.8, 34.4, 87.8, 98.6],
453
		'R_2_4_6_2' => [4.2, 30.6, 83.3, 94.4],
454
		'R_2_3_4_2' => [5.6, 38.9, 77.8, 88.9],
455
		'R_2_2_3_2' => [8.3, 47.2, 72.2, 75.0],
456
		'R_2_1_2_2' => [11.1, 55.6, 88.9, 44.4],
457
		'R_2_0_1_2' => [11.1, 44.4, 44.4, 0.0],
458
459
		'R_1_12_179_2' => [1.5, 20.0, 90.6, 99.9],
460
		'R_1_11_96_2' => [1.6, 20.3, 94.3, 99.0],
461
		'R_1_10_60_2' => [2.0, 23.2, 94.9, 99.7],
462
		'R_1_9_35_2' => [2.3, 24.3, 82.8, 97.7],
463
		'R_1_8_20_2' => [2.6, 26.0, 81.8, 96.4],
464
		'R_1_7_12_2' => [3.1, 28.1, 84.4, 100.0],
465
		'R_1_6_8_2' => [4.2, 32.3, 85.4, 91.7],
466
		'R_1_5_6_2' => [6.3, 35.4, 89.6, 87.5],
467
		'R_1_4_3_2' => [6.3, 35.4, 79.2, 65.5],
468
		'R_1_3_2_2' => [8.3, 41.7, 50.0, 58.3],
469
		'R_1_2_2_2' => [16.7, 66.7, 83.3, 33.3],
470
		'R_1_1_1_2' => [16.7, 50.0, 33.3, 0.0],
471
472
		'R_0_13_128_2' => [1.6, 20.3, 96.9, 98.4],
473
		'R_0_12_78_2' => [1.9, 22.7, 89.7, 99.0],
474
		'R_0_11_44_2' => [2.1, 23.6, 87.9, 95.7],
475
		'R_0_10_30_2' => [2.9, 28.8, 83.3, 95.9],
476
		'R_0_9_16_2' => [3.1, 28.1, 87.5, 90.6],
477
		'R_0_8_12_2' => [4.7, 32.0, 84.4, 99.2],
478
		'R_0_7_7_2' => [5.5, 35.2, 87.5, 89.8],
479
		'R_0_6_4_2' => [6.3, 37.5, 93.8, 62.5],
480
		'R_0_5_2_2' => [6.3, 31.3, 62.5, 62.5],
481
		'R_0_4_2_2' => [12.5, 50.0, 37.5, 50.0],
482
		'R_0_3_2_2' => [25.0, 75.0, 75.0, 25.0],
483
		'R_0_2_1_2' => [25.0, 50.0, 25.0, 0.0],
484
	];
485
486 1
	public function garanti(): string {
487 1
		return number_format(100 * intval(explode('_', $this->name)[3]) / pow(3, intval(explode('_', $this->name)[1])) /
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
488 1
			pow(2, intval(explode('_', $this->name)[2])), 2) . ' %';
489
	}
490
491
	/**
492
	 * Garantitabell för alla system.
493
	 * @return float[]
494
	 * @SuppressWarnings("PHPMD.ExcessiveMethodLength")
495
	 */
496 2
	public function garantitabell(): array {
497 2
		return self::GARANTITABELL[$this->name];
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
Bug introduced by
The constant Tips\Moduler\System\RKod::GARANTITABELL was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
498
	}
499
500
	/**
501
	 * Metod för antal helgarderingar.
502
	 */
503 2
	public function helgarderingar(): int {
504 2
		return intval(explode('_', $this->name)[1]);
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
505
	}
506
507
	/**
508
	 * Metod för antal halvgarderingar.
509
	 */
510 2
	public function halvgarderingar(): int {
511 2
		return intval(explode('_', $this->name)[2]);
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
512
	}
513
514
	/**
515
	 * Metod för antal rader.
516
	 */
517 2
	public function antal_rader(): string {
518 2
		return explode('_', $this->name)[3];
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
519
	}
520
521
	/**
522
	 * Metod för att visa allmänna data för en kod.
523
	 */
524 1
	public function koddata(): string {
525 1
		$rymd = pow(3, $this->helgarderingar()) * pow(2, $this->halvgarderingar());
526 1
		$reduktion = number_format(fdiv($rymd, (int) $this->antal_rader()), 2);
527 1
		$fält = '𝔽₃' . n_exponent($this->helgarderingar()) . ' ⨯ 𝔽₂' . n_exponent($this->halvgarderingar());
528 1
		$antal = count($this->kod());
529 1
		$kontroll = $antal . ' vektorer med vardera ' . strlen($this->kod()[0]) . ' bitar.';
530 1
		$reduktion2 = number_format(fdiv($rymd, $antal), 2);
531 1
		$rymd = number_format($rymd, 0, '.', ' ');
532 1
		$täckning = intval(explode('_', $this->name)[4]);
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
533
534 1
		return <<< EOT
535 1
							<h2>Reducerad kod:</h2>
536 1
							<p class="större">{$this->name}<br>
537 1
								Kod K({$this->helgarderingar()}₃, {$this->halvgarderingar()}₂, <span class="vinst10">R = $täckning</span>) över $fält<br>
538 1
								Rymd: $rymd; rader: {$this->antal_rader()}; reduktion: $reduktion<br>
539 1
								Kontroll: $kontroll; reduktion: $reduktion2<br>
540 1
								Vinstchans 13 r: {$this->garanti()}</p>
541
							<p class="större">Garantitabell:<br>
542 1
								13 r: {$this->garantitabell()[0]} %<br>
543 1
								12 r: {$this->garantitabell()[1]} %<br>
544 1
								11 r: {$this->garantitabell()[2]} %<br>
545 1
								10 r: {$this->garantitabell()[3]} %</p>
546 1
							<input type="hidden" class="antal_helgarderingar" value="{$this->helgarderingar()}">
547 1
							<input type="hidden" class="antal_halvgarderingar" value="{$this->halvgarderingar()}">
548 1
EOT;
549
	}
550
551
	/**
552
	 * Aktuell kod.
553
	 * @return string[]
554
	 */
555 3
	public function kod(): array {
556 3
		$system = $this->system();
557 3
		return property_exists($system, 'kod') ? $system->kod : [];
558
	}
559
560
	/**
561
	 * Ta fram aktuellt system.
562
	 */
563 3
	public function system(): object {
564 3
		$mapp = 'R' . explode('_', $this->name)[4];
0 ignored issues
show
Bug Best Practice introduced by
The property name does not exist on Tips\Moduler\System\RKod. Did you maybe forget to declare it?
Loading history...
565 3
		$klass = "\\Tips\\Koder\\$mapp\\" . $this->name;
566 3
		return new $klass();
567
	}
568
}
569