datafarming 1.4.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.md +1 -1
- data/README.md +10 -6
- data/datafarming.gemspec +11 -6
- data/exe/datafarming.rb +33 -27
- data/exe/generate_design.rb +306 -0
- data/lib/datafarming/freq_sets.rb +52 -243
- data/lib/datafarming/nolh_designs.rb +19105 -4483
- data/lib/datafarming/res_v_seqs.rb +57 -0
- data/lib/datafarming/scale_design.rb +29 -0
- data/lib/datafarming/screen_freq_sets.rb +143 -0
- data/lib/datafarming/version.rb +5 -0
- data/lib/datafarming.rb +8 -0
- metadata +42 -18
- data/DESCRIPTIONS.html +0 -1107
- data/DESCRIPTIONS.md +0 -45
- data/exe/augment_design.rb +0 -66
- data/exe/scaled_fde.rb +0 -169
- data/exe/scaled_rf_cubed.rb +0 -173
- data/exe/stack_nolhs.rb +0 -174
- data/lib/datafarming/factorial_generator.rb +0 -49
@@ -1,318 +1,127 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module FBD
|
4
4
|
TWO_PI = 2.0 * Math::PI
|
5
5
|
|
6
|
-
DesignSet = Struct.new(:nyq, :freqs)
|
6
|
+
DesignSet = Struct.new(:nyq, :freqs, keyword_init: true)
|
7
7
|
|
8
8
|
DESIGN_SETS = {
|
9
9
|
2 => DesignSet.new(
|
10
|
-
nyq
|
11
|
-
[1,
|
12
|
-
[2, 3],
|
13
|
-
[4, 6]
|
10
|
+
nyq: 9, freqs: [
|
11
|
+
[1, 2]
|
14
12
|
]
|
15
13
|
),
|
16
14
|
3 => DesignSet.new(
|
17
|
-
nyq
|
18
|
-
[1,
|
19
|
-
[2, 5, 13],
|
20
|
-
[2, 10, 11],
|
21
|
-
[4, 11, 13],
|
22
|
-
[8, 10, 13]
|
15
|
+
nyq: 19, freqs: [
|
16
|
+
[1, 7, 8]
|
23
17
|
]
|
24
18
|
),
|
25
19
|
4 => DesignSet.new(
|
26
|
-
nyq
|
27
|
-
[1,
|
28
|
-
[1, 6, 16, 19],
|
29
|
-
[2, 3, 11, 18],
|
30
|
-
[2, 9, 10, 15],
|
31
|
-
[3, 5, 12, 16],
|
32
|
-
[4, 5, 7, 20],
|
33
|
-
[6, 8, 9, 13],
|
34
|
-
[7, 18, 19, 22],
|
35
|
-
[8, 11, 20, 21],
|
36
|
-
[12, 14, 15, 21],
|
37
|
-
[13, 14, 17, 22]
|
20
|
+
nyq: 37, freqs: [
|
21
|
+
[1, 2, 8, 16]
|
38
22
|
]
|
39
23
|
),
|
40
24
|
5 => DesignSet.new(
|
41
|
-
nyq
|
42
|
-
[1,
|
43
|
-
[1, 10, 14,
|
44
|
-
[2, 5, 11, 25, 26],
|
45
|
-
[2, 8, 11, 26, 31],
|
46
|
-
[2, 10, 13, 31, 32],
|
47
|
-
[2, 11, 14, 31, 32],
|
48
|
-
[2, 20, 25, 28, 34],
|
49
|
-
[4, 5, 7, 20, 26],
|
50
|
-
[4, 7, 16, 17, 22],
|
51
|
-
[4, 10, 17, 19, 22],
|
52
|
-
[5, 7, 11, 26, 34],
|
53
|
-
[8, 10, 14, 17, 29],
|
54
|
-
[8, 14, 25, 32, 34],
|
55
|
-
[8, 20, 25, 31, 34],
|
56
|
-
[11, 16, 20, 28, 34],
|
57
|
-
[13, 17, 29, 31, 32]
|
25
|
+
nyq: 59, freqs: [
|
26
|
+
[1, 2, 8, 13, 21],
|
27
|
+
[1, 4, 10, 14, 26]
|
58
28
|
]
|
59
29
|
),
|
60
30
|
6 => DesignSet.new(
|
61
|
-
nyq
|
62
|
-
[1,
|
63
|
-
[1, 7, 10, 25, 29, 41],
|
64
|
-
[1, 11, 18, 24, 27, 32],
|
65
|
-
[1, 11, 28, 31, 35, 49],
|
66
|
-
[1, 14, 21, 25, 30, 33],
|
67
|
-
[1, 28, 33, 40, 44, 50],
|
68
|
-
[2, 22, 36, 39, 48, 49],
|
69
|
-
[3, 4, 13, 28, 40, 42],
|
70
|
-
[3, 4, 17, 19, 29, 47],
|
71
|
-
[3, 16, 20, 21, 28, 30],
|
72
|
-
[4, 5, 7, 25, 31, 44],
|
73
|
-
[4, 9, 10, 21, 37, 44],
|
74
|
-
[5, 6, 14, 37, 41, 44],
|
75
|
-
[5, 13, 17, 32, 46, 48],
|
76
|
-
[5, 31, 37, 39, 48, 51],
|
77
|
-
[6, 8, 9, 34, 38, 45],
|
78
|
-
[6, 32, 40, 42, 43, 47],
|
79
|
-
[7, 15, 35, 39, 41, 51],
|
80
|
-
[8, 10, 14, 15, 41, 50],
|
81
|
-
[8, 11, 12, 18, 43, 45],
|
82
|
-
[8, 15, 18, 20, 29, 42],
|
83
|
-
[9, 12, 16, 38, 46, 51],
|
84
|
-
[9, 12, 17, 19, 23, 39],
|
85
|
-
[10, 12, 15, 21, 28, 29],
|
86
|
-
[11, 21, 25, 34, 49, 51],
|
87
|
-
[11, 27, 35, 36, 48, 50],
|
88
|
-
[12, 13, 16, 18, 27, 35],
|
89
|
-
[13, 23, 31, 32, 38, 43],
|
90
|
-
[14, 20, 22, 25, 35, 51],
|
91
|
-
[14, 27, 34, 36, 46, 51],
|
92
|
-
[16, 23, 24, 43, 45, 49],
|
93
|
-
[20, 24, 30, 42, 45, 47]
|
31
|
+
nyq: 79, freqs: [
|
32
|
+
[1, 4, 13, 17, 23, 24]
|
94
33
|
]
|
95
34
|
),
|
96
35
|
7 => DesignSet.new(
|
97
|
-
nyq
|
98
|
-
[1,
|
99
|
-
[1, 7, 18, 22, 27, 57, 60],
|
100
|
-
[1, 9, 14, 21, 40, 46, 57],
|
101
|
-
[1, 10, 16, 29, 34, 37, 41],
|
102
|
-
[2, 3, 12, 29, 37, 50, 57],
|
103
|
-
[2, 17, 22, 23, 30, 33, 59],
|
104
|
-
[3, 7, 19, 28, 30, 43, 48],
|
105
|
-
[3, 8, 10, 27, 41, 42, 63],
|
106
|
-
[3, 21, 41, 49, 50, 54, 64],
|
107
|
-
[4, 7, 9, 24, 30, 49, 59],
|
108
|
-
[6, 9, 19, 20, 36, 41, 43],
|
109
|
-
[6, 31, 40, 47, 51, 61, 64],
|
110
|
-
[7, 9, 17, 20, 32, 62, 63],
|
111
|
-
[8, 33, 47, 48, 51, 53, 60],
|
112
|
-
[10, 11, 18, 23, 37, 53, 62],
|
113
|
-
[10, 11, 36, 44, 49, 51, 63],
|
114
|
-
[11, 14, 23, 24, 29, 31, 50],
|
115
|
-
[11, 16, 17, 20, 46, 59, 61],
|
116
|
-
[12, 17, 21, 27, 40, 47, 58],
|
117
|
-
[19, 29, 30, 33, 54, 56, 61],
|
118
|
-
[20, 33, 37, 42, 43, 58, 61],
|
119
|
-
[21, 27, 34, 51, 56, 59, 60],
|
120
|
-
[23, 28, 38, 47, 49, 50, 63],
|
121
|
-
[31, 32, 38, 40, 43, 53, 57]
|
36
|
+
nyq: 119, freqs: [
|
37
|
+
[1, 2, 11, 18, 41, 46, 52]
|
122
38
|
]
|
123
39
|
),
|
124
40
|
8 => DesignSet.new(
|
125
|
-
nyq
|
126
|
-
[1,
|
127
|
-
[2, 8, 11, 25, 26, 57, 64, 69],
|
128
|
-
[2, 8, 15, 26, 27, 59, 64, 73],
|
129
|
-
[3, 19, 32, 34, 39, 62, 79, 80],
|
130
|
-
[3, 22, 23, 32, 37, 39, 50, 80],
|
131
|
-
[5, 32, 34, 45, 62, 65, 80, 81],
|
132
|
-
[8, 15, 17, 27, 53, 58, 64, 82],
|
133
|
-
[8, 31, 57, 58, 64, 67, 69, 82],
|
134
|
-
[9, 10, 16, 38, 40, 43, 51, 55],
|
135
|
-
[10, 16, 29, 33, 38, 40, 41, 75],
|
136
|
-
[16, 33, 40, 46, 71, 74, 75, 83],
|
137
|
-
[22, 32, 45, 47, 50, 61, 80, 81]
|
41
|
+
nyq: 163, freqs: [
|
42
|
+
[1, 2, 10, 16, 35, 57, 62, 78]
|
138
43
|
]
|
139
44
|
),
|
140
45
|
9 => DesignSet.new(
|
141
|
-
nyq
|
142
|
-
[1,
|
143
|
-
[1, 22, 29, 38, 42, 48, 53, 56, 88],
|
144
|
-
[2, 19, 54, 61, 66, 72, 88, 97, 98],
|
145
|
-
[3, 13, 41, 62, 76, 77, 81, 99, 101],
|
146
|
-
[5, 25, 54, 63, 71, 77, 95, 98, 99],
|
147
|
-
[6, 7, 11, 26, 47, 55, 57, 82, 85],
|
148
|
-
[7, 20, 22, 26, 38, 43, 75, 99, 100],
|
149
|
-
[8, 30, 33, 39, 40, 44, 57, 59, 94],
|
150
|
-
[9, 11, 12, 38, 45, 51, 55, 70, 86],
|
151
|
-
[9, 11, 14, 40, 44, 52, 59, 76, 86],
|
152
|
-
[11, 17, 43, 44, 47, 85, 93, 95, 100],
|
153
|
-
[11, 19, 21, 24, 28, 44, 78, 90, 104],
|
154
|
-
[11, 28, 32, 55, 69, 89, 95, 102, 104],
|
155
|
-
[12, 14, 22, 39, 45, 52, 94, 95, 99],
|
156
|
-
[14, 16, 51, 52, 57, 60, 70, 77, 99],
|
157
|
-
[16, 21, 60, 66, 78, 80, 88, 91, 95],
|
158
|
-
[17, 19, 20, 33, 44, 65, 75, 87, 93],
|
159
|
-
[18, 22, 24, 37, 69, 76, 90, 99, 102],
|
160
|
-
[18, 22, 28, 37, 57, 80, 88, 91, 104],
|
161
|
-
[19, 27, 32, 33, 42, 49, 53, 77, 89],
|
162
|
-
[23, 34, 35, 38, 40, 59, 66, 79, 88],
|
163
|
-
[27, 49, 55, 57, 66, 69, 73, 92, 102],
|
164
|
-
[31, 38, 54, 55, 64, 66, 84, 98, 103],
|
165
|
-
[33, 46, 51, 68, 70, 76, 77, 80, 91],
|
166
|
-
[36, 42, 53, 66, 73, 74, 76, 88, 92]
|
46
|
+
nyq: 181, freqs: [
|
47
|
+
[1, 39, 43, 48, 49, 62, 65, 73, 80]
|
167
48
|
]
|
168
49
|
),
|
169
50
|
10 => DesignSet.new(
|
170
|
-
nyq
|
171
|
-
[1,
|
172
|
-
[1,
|
173
|
-
[1,
|
174
|
-
[1,
|
175
|
-
[1, 35, 51, 90, 93, 97, 107, 112, 118, 130],
|
176
|
-
[1, 49, 62, 71, 87, 107, 114, 117, 122, 128],
|
177
|
-
[2, 3, 11, 23, 53, 68, 86, 105, 115, 122],
|
178
|
-
[2, 5, 13, 25, 34, 65, 71, 87, 106, 120],
|
179
|
-
[2, 13, 22, 51, 56, 59, 87, 101, 119, 126],
|
180
|
-
[2, 15, 22, 33, 47, 56, 75, 83, 121, 126],
|
181
|
-
[2, 19, 29, 68, 81, 86, 111, 122, 123, 131],
|
182
|
-
[2, 34, 47, 63, 69, 106, 109, 120, 121, 129],
|
183
|
-
[3, 7, 15, 35, 44, 46, 69, 102, 121, 126],
|
184
|
-
[3, 7, 53, 55, 74, 82, 83, 98, 116, 121],
|
185
|
-
[3, 10, 11, 15, 39, 55, 72, 74, 106, 115],
|
186
|
-
[3, 15, 37, 47, 54, 58, 63, 82, 83, 96],
|
187
|
-
[3, 37, 41, 42, 53, 61, 63, 70, 88, 118],
|
188
|
-
[4, 9, 58, 79, 85, 86, 109, 111, 123, 126],
|
189
|
-
[4, 11, 23, 25, 49, 55, 58, 86, 125, 126],
|
190
|
-
[5, 11, 25, 42, 49, 82, 90, 105, 108, 117],
|
191
|
-
[5, 16, 23, 25, 31, 58, 98, 101, 102, 115],
|
192
|
-
[6, 7, 15, 39, 50, 55, 73, 75, 92, 102],
|
193
|
-
[6, 7, 35, 39, 66, 89, 91, 100, 110, 115],
|
194
|
-
[6, 9, 10, 33, 47, 64, 69, 77, 98, 109],
|
195
|
-
[6, 10, 25, 57, 64, 65, 87, 98, 101, 125],
|
196
|
-
[6, 19, 43, 45, 66, 95, 99, 100, 110, 127],
|
197
|
-
[6, 50, 59, 61, 79, 92, 95, 102, 119, 127],
|
198
|
-
[7, 18, 26, 30, 35, 73, 75, 76, 97, 107],
|
199
|
-
[7, 20, 22, 23, 55, 89, 94, 106, 115, 125],
|
200
|
-
[8, 17, 18, 31, 38, 85, 89, 91, 113, 118],
|
201
|
-
[8, 18, 21, 38, 43, 45, 49, 103, 117, 118]
|
51
|
+
nyq: 251, freqs: [
|
52
|
+
[1, 2, 8, 13, 37, 54, 67, 86, 94, 114],
|
53
|
+
[1, 2, 9, 14, 35, 44, 73, 92, 98, 112],
|
54
|
+
[1, 2, 12, 19, 27, 46, 62, 68, 98, 121],
|
55
|
+
[1, 7, 8, 12, 37, 49, 59, 77, 80, 112]
|
202
56
|
]
|
203
57
|
),
|
204
58
|
11 => DesignSet.new(
|
205
|
-
nyq
|
206
|
-
[1,
|
59
|
+
nyq: 317, freqs: [
|
60
|
+
[1, 2, 7, 42, 59, 78, 88, 101, 112, 133, 151],
|
61
|
+
[1, 2, 11, 41, 57, 89, 104, 118, 124, 142, 149]
|
207
62
|
]
|
208
63
|
),
|
209
64
|
12 => DesignSet.new(
|
210
|
-
nyq
|
211
|
-
[1,
|
65
|
+
nyq: 359, freqs: [
|
66
|
+
[1, 2, 17, 22, 28, 60, 68, 96, 109, 144, 151, 161],
|
67
|
+
[1, 2, 24, 51, 59, 66, 79, 95, 113, 125, 158, 164]
|
212
68
|
]
|
213
69
|
),
|
214
70
|
13 => DesignSet.new(
|
215
|
-
nyq
|
216
|
-
[1,
|
71
|
+
nyq: 499, freqs: [
|
72
|
+
[1, 2, 7, 36, 51, 63, 82, 102, 142, 149, 159, 170, 218]
|
217
73
|
]
|
218
74
|
),
|
219
75
|
14 => DesignSet.new(
|
220
|
-
nyq
|
221
|
-
[1,
|
76
|
+
nyq: 607, freqs: [
|
77
|
+
[1, 2, 7, 14, 46, 75, 111, 146, 166, 197, 216, 254, 272, 295]
|
222
78
|
]
|
223
79
|
),
|
224
80
|
15 => DesignSet.new(
|
225
|
-
nyq
|
226
|
-
[1,
|
81
|
+
nyq: 701, freqs: [
|
82
|
+
[1, 2, 7, 14, 25, 68, 106, 147, 184, 194, 230, 247, 281, 303, 336]
|
227
83
|
]
|
228
84
|
),
|
229
85
|
16 => DesignSet.new(
|
230
|
-
nyq
|
231
|
-
[1,
|
86
|
+
nyq: 877, freqs: [
|
87
|
+
[1, 2, 7, 14, 24, 43, 61, 133, 176, 229, 253, 287, 322, 342, 374, 425]
|
232
88
|
]
|
233
89
|
),
|
234
90
|
17 => DesignSet.new(
|
235
|
-
nyq
|
236
|
-
[1,
|
91
|
+
nyq: 1007, freqs: [
|
92
|
+
[1, 2, 7, 14, 24, 43, 54, 86, 144, 168, 203, 249, 324, 351, 388, 442, 462]
|
237
93
|
]
|
238
94
|
),
|
239
95
|
18 => DesignSet.new(
|
240
|
-
nyq
|
241
|
-
[
|
96
|
+
nyq: 1279, freqs: [
|
97
|
+
[37, 38, 40, 44, 49, 57, 67, 83, 216, 241, 274, 386, 427, 449, 496, 517, 568, 632]
|
242
98
|
]
|
243
99
|
),
|
244
100
|
19 => DesignSet.new(
|
245
|
-
nyq
|
246
|
-
[
|
101
|
+
nyq: 1433, freqs: [
|
102
|
+
[37, 38, 40, 44, 49, 57, 67, 83, 108, 220, 251, 323, 389, 413, 449, 568, 590, 622, 637],
|
103
|
+
[37, 38, 40, 44, 49, 57, 67, 83, 108, 239, 272, 330, 351, 382, 481, 536, 596, 649, 699]
|
247
104
|
]
|
248
105
|
),
|
249
106
|
20 => DesignSet.new(
|
250
|
-
nyq
|
251
|
-
[1,
|
107
|
+
nyq: 1583, freqs: [
|
108
|
+
[1, 2, 7, 14, 24, 43, 54, 78, 105, 137, 195, 238, 310, 430, 450, 496, 561, 595, 683, 772]
|
252
109
|
]
|
253
110
|
),
|
254
111
|
21 => DesignSet.new(
|
255
|
-
nyq
|
112
|
+
nyq: 1871, freqs: [
|
256
113
|
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 218, 242, 312, 343, 425, 498, 598, 700, 755, 795, 882]
|
257
114
|
]
|
258
115
|
),
|
259
|
-
22 => DesignSet.new(
|
260
|
-
nyq = 2070, freqs = [
|
261
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 335, 399, 444, 613, 691, 715, 841, 902, 942, 989]
|
262
|
-
]
|
263
|
-
),
|
264
|
-
23 => DesignSet.new(
|
265
|
-
nyq = 2306, freqs = [
|
266
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 314, 438, 540, 564, 684, 758, 784, 924, 971, 1035, 1096]
|
267
|
-
]
|
268
|
-
),
|
269
|
-
24 => DesignSet.new(
|
270
|
-
nyq = 2625, freqs = [
|
271
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 470, 529, 659, 737, 903, 977, 1017, 1103, 1127, 1285]
|
272
|
-
]
|
273
|
-
),
|
274
|
-
25 => DesignSet.new(
|
275
|
-
nyq = 2886, freqs = [
|
276
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 618, 642, 728, 885, 1005, 1036, 1194, 1230, 1402]
|
277
|
-
]
|
278
|
-
),
|
279
|
-
26 => DesignSet.new(
|
280
|
-
nyq = 3227, freqs = [
|
281
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 529, 634, 748, 824, 1071, 1130, 1238, 1321, 1465, 1529]
|
282
|
-
]
|
283
|
-
),
|
284
|
-
27 => DesignSet.new(
|
285
|
-
nyq = 3549, freqs = [
|
286
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 529, 702, 941, 1092, 1168, 1251, 1277, 1359, 1542, 1582, 1722]
|
287
|
-
]
|
288
|
-
),
|
289
116
|
28 => DesignSet.new(
|
290
|
-
nyq
|
117
|
+
nyq: 3931, freqs: [
|
291
118
|
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 529, 588, 757, 1046, 1072, 1270, 1377, 1490, 1535, 1702, 1738, 1915]
|
292
119
|
]
|
293
120
|
),
|
294
|
-
29 => DesignSet.new(
|
295
|
-
nyq = 4298, freqs = [
|
296
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 529, 588, 680, 903, 1016, 1283, 1328, 1406, 1645, 1793, 1869, 1951, 2058]
|
297
|
-
]
|
298
|
-
),
|
299
121
|
30 => DesignSet.new(
|
300
|
-
nyq
|
301
|
-
[1,
|
302
|
-
]
|
303
|
-
),
|
304
|
-
50 => DesignSet.new(
|
305
|
-
nyq = 17_853, freqs = [
|
306
|
-
[1, 4, 10, 17, 29, 52, 67, 89, 132, 164, 205, 259, 303, 350, 405, 505, 529, 588, 680, 903, 1016, 1061, 1248, 1358, 1445, 1838, 1878, 2086, 2117, 2195, 2613, 2840, 3060, 3314, 3422, 3816, 4097, 4247, 4565, 4705, 5326, 5511, 6620, 6857, 6983, 7235, 7964, 8058, 8287, 8655]
|
122
|
+
nyq: 4493, freqs: [
|
123
|
+
[1, 2, 7, 14, 24, 43, 54, 78, 105, 137, 171, 236, 282, 325, 345, 415, 487, 602, 703, 791, 1008, 1057, 1171, 1397, 1591, 1716, 1790, 1900, 2141, 2228]
|
307
124
|
]
|
308
125
|
)
|
309
126
|
}.freeze
|
310
127
|
end
|
311
|
-
|
312
|
-
|
313
|
-
if __FILE__ == $PROGRAM_NAME
|
314
|
-
require 'colorize'
|
315
|
-
String.disable_colorization false
|
316
|
-
require_relative 'error_handling'
|
317
|
-
ErrorHandling.message ['This module is not intended to be executable.'.yellow]
|
318
|
-
end
|