Home | History | Annotate | Download | only in tests

Lines Matching refs:len

17 static void add_sine(float *data, size_t len, float freq, float offset,
20 for (size_t i = 0; i < len; i++)
25 * the result of DFT, multiplied by 2/len. */
26 static float magnitude_at(float *data, size_t len, float f)
30 for (size_t i = 0; i < len; i++) {
34 return sqrt(re * re + im * im) * (2.0 / len);
79 size_t len = 44100;
80 float NQ = len / 2;
84 float *data = (float *)malloc(sizeof(float) * len);
88 memset(data, 0, sizeof(float) * len);
89 add_sine(data, len, f_low, 0, 1); // 10Hz sine, magnitude = 1
90 EXPECT_FLOAT_EQ(1, magnitude_at(data, len, f_low));
91 add_sine(data, len, f_high, 0, 1); // 1000Hz sine, magnitude = 1
92 EXPECT_FLOAT_EQ(1, magnitude_at(data, len, f_low));
93 EXPECT_FLOAT_EQ(1, magnitude_at(data, len, f_high));
97 eq_process(eq, data, len);
98 EXPECT_NEAR(1, magnitude_at(data, len, f_low), 0.01);
99 EXPECT_NEAR(0, magnitude_at(data, len, f_high), 0.01);
107 memset(data, 0, sizeof(float) * len);
108 add_sine(data, len, f_low, 0, 1);
109 add_sine(data, len, f_high, 0, 1);
113 eq_process(eq, data, len);
114 EXPECT_NEAR(0, magnitude_at(data, len, f_low), 0.01);
115 EXPECT_NEAR(1, magnitude_at(data, len, f_high), 0.01);
119 memset(data, 0, sizeof(float) * len);
120 add_sine(data, len, f_low, 0, 1);
121 add_sine(data, len, f_high, 0, 1);
125 eq_process(eq, data, len);
126 EXPECT_NEAR(1, magnitude_at(data, len, f_low), 0.01);
127 EXPECT_NEAR(2, magnitude_at(data, len, f_high), 0.01);
143 size_t len = 44100;
144 float NQ = len / 2;
148 float *data0 = (float *)malloc(sizeof(float) * len);
149 float *data1 = (float *)malloc(sizeof(float) * len);
154 memset(data0, 0, sizeof(float) * len);
155 memset(data1, 0, sizeof(float) * len);
156 add_sine(data0, len, f_low, 0, 1); // 10Hz sine, magnitude = 1
157 add_sine(data0, len, f_high, 0, 1); // 1000Hz sine, magnitude = 1
158 add_sine(data1, len, f_low, 0, 1); // 10Hz sine, magnitude = 1
159 add_sine(data1, len, f_high, 0, 1); // 1000Hz sine, magnitude = 1
165 eq2_process(eq2, data0, data1, len);
166 EXPECT_NEAR(1, magnitude_at(data0, len, f_low), 0.01);
167 EXPECT_NEAR(0, magnitude_at(data0, len, f_high), 0.01);
168 EXPECT_NEAR(0, magnitude_at(data1, len, f_low), 0.01);
169 EXPECT_NEAR(1, magnitude_at(data1, len, f_high), 0.01);
176 memset(data0, 0, sizeof(float) * len);
177 memset(data1, 0, sizeof(float) * len);
178 add_sine(data0, len, f_low, 0, 1);
179 add_sine(data0, len, f_high, 0, 1);
180 add_sine(data1, len, f_low, 0, 1);
181 add_sine(data1, len, f_high, 0, 1);
189 eq2_process(eq2, data0, data1, len);
190 EXPECT_NEAR(1, magnitude_at(data0, len, f_low), 0.01);
191 EXPECT_NEAR(2, magnitude_at(data0, len, f_high), 0.01);
192 EXPECT_NEAR(0.25, magnitude_at(data1, len, f_low), 0.01);
193 EXPECT_NEAR(1, magnitude_at(data1, len, f_high), 0.01);
212 size_t len = 44100;
213 float NQ = len / 2;
219 float *data = (float *)malloc(sizeof(float) * len);
220 float *data1 = (float *)malloc(sizeof(float) * len);
221 float *data2 = (float *)malloc(sizeof(float) * len);
225 memset(data, 0, sizeof(float) * len);
226 add_sine(data, len, f0, 0, 1);
227 add_sine(data, len, f2, 0, 1);
228 add_sine(data, len, f4, 0, 1);
230 crossover_process(&xo, len, data, data1, data2);
233 EXPECT_NEAR(1, magnitude_at(data, len, f0), 0.01);
234 EXPECT_NEAR(0, magnitude_at(data, len, f2), 0.01);
235 EXPECT_NEAR(0, magnitude_at(data, len, f4), 0.01);
238 EXPECT_NEAR(0, magnitude_at(data1, len, f0), 0.01);
239 EXPECT_NEAR(1, magnitude_at(data1, len, f2), 0.01);
240 EXPECT_NEAR(0, magnitude_at(data1, len, f4), 0.01);
243 EXPECT_NEAR(0, magnitude_at(data2, len, f0), 0.01);
244 EXPECT_NEAR(0, magnitude_at(data2, len, f2), 0.01);
245 EXPECT_NEAR(1, magnitude_at(data2, len, f4), 0.01);
257 size_t len = 44100;
258 float NQ = len / 2;
264 float *data0L = (float *)malloc(sizeof(float) * len);
265 float *data1L = (float *)malloc(sizeof(float) * len);
266 float *data2L = (float *)malloc(sizeof(float) * len);
267 float *data0R = (float *)malloc(sizeof(float) * len);
268 float *data1R = (float *)malloc(sizeof(float) * len);
269 float *data2R = (float *)malloc(sizeof(float) * len);
273 memset(data0L, 0, sizeof(float) * len);
274 memset(data0R, 0, sizeof(float) * len);
276 add_sine(data0L, len, f0, 0, 1);
277 add_sine(data0L, len, f2, 0, 1);
278 add_sine(data0L, len, f4, 0, 1);
280 add_sine(data0R, len, f0, 0, 0.5);
281 add_sine(data0R, len, f2, 0, 0.5);
282 add_sine(data0R, len, f4, 0, 0.5);
284 crossover2_process(&xo2, len, data0L, data0R, data1L, data1R, data2L, data2R);
287 EXPECT_NEAR(1, magnitude_at(data0L, len, f0), 0.01);
288 EXPECT_NEAR(0, magnitude_at(data0L, len, f2), 0.01);
289 EXPECT_NEAR(0, magnitude_at(data0L, len, f4), 0.01);
292 EXPECT_NEAR(0, magnitude_at(data1L, len, f0), 0.01);
293 EXPECT_NEAR(1, magnitude_at(data1L, len, f2), 0.01);
294 EXPECT_NEAR(0, magnitude_at(data1L, len, f4), 0.01);
297 EXPECT_NEAR(0, magnitude_at(data2L, len, f0), 0.01);
298 EXPECT_NEAR(0, magnitude_at(data2L, len, f2), 0.01);
299 EXPECT_NEAR(1, magnitude_at(data2L, len, f4), 0.01);
302 EXPECT_NEAR(0.5, magnitude_at(data0R, len, f0), 0.005);
303 EXPECT_NEAR(0, magnitude_at(data0R, len, f2), 0.005);
304 EXPECT_NEAR(0, magnitude_at(data0R, len, f4), 0.005);
307 EXPECT_NEAR(0, magnitude_at(data1R, len, f0), 0.005);
308 EXPECT_NEAR(0.5, magnitude_at(data1R, len, f2), 0.005);
309 EXPECT_NEAR(0, magnitude_at(data1R, len, f4), 0.005);
312 EXPECT_NEAR(0, magnitude_at(data2R, len, f0), 0.005);
313 EXPECT_NEAR(0, magnitude_at(data2R, len, f2), 0.005);
314 EXPECT_NEAR(0.5, magnitude_at(data2R, len, f4), 0.005);
328 size_t len = 44100;
329 float NQ = len / 2;
335 float *data_left = (float *)malloc(sizeof(float) * len);
336 float *data_right = (float *)malloc(sizeof(float) * len);
373 memset(data_left, 0, sizeof(float) * len);
374 memset(data_right, 0, sizeof(float) * len);
375 add_sine(data_left, len, f0, 0, 1);
376 add_sine(data_left, len, f2, 0, 1);
377 add_sine(data_left, len, f4, 0, 1);
378 add_sine(data_right, len, f0, 0, 1);
379 add_sine(data_right, len, f2, 0, 1);
380 add_sine(data_right, len, f4, 0, 1);
382 for (size_t start = 0; start < len; start += DRC_PROCESS_MAX_FRAMES) {
383 int chunk = std::min(len - start, (size_t)DRC_PROCESS_MAX_FRAMES);
390 EXPECT_NEAR(0.4, magnitude_at(data_right, len, f0), 0.1);
393 EXPECT_NEAR(1, magnitude_at(data_right, len, f2), 0.1);
396 EXPECT_NEAR(10, magnitude_at(data_right, len, f4), 1);