MCPcopy Create free account
hub / github.com/clMathLibraries/clFFT / TestListGenerator_Large_Random

Class TestListGenerator_Large_Random

src/tests/accuracy_test_directed.cpp:337–438  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

335
336 template <class ParameterType>
337 class TestListGenerator_Large_Random
338 {
339 protected:
340 std::vector<size_t> supported_length;
341 std::vector<ParameterType> data_sets;
342
343 void GenerateSizes(size_t maximum_size)
344 {
345 std::list<size_t> sizes;
346
347 size_t i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
348 size_t sum, sumi, sumj, sumk, suml, summ, sumn;
349
350 sumi = 1; i = 0;
351 while (1)
352 {
353 sumj = 1; j = 0;
354 while (1)
355 {
356 sumk = 1; k = 0;
357 while (1)
358 {
359 suml = 1; l = 0;
360 while (1)
361 {
362 summ = 1; m = 0;
363 while (1)
364 {
365 sumn = 1; n = 0;
366 while (1)
367 {
368 sum = (sumi*sumj*sumk*suml*summ*sumn);
369 if (sum > maximum_size) break;
370
371 sizes.push_back(sum);
372 n++;
373 sumn *= 2;
374 }
375
376 if (n == 0) break;
377 m++;
378 summ *= 3;
379 }
380
381 if ((m == 0) && (n == 0)) break;
382 l++;
383 suml *= 5;
384 }
385
386 if ((l == 0) && (m == 0) && (n == 0)) break;
387 k++;
388 sumk *= 7;
389 }
390
391 if ((k == 0) && (l == 0) && (m == 0) && (n == 0)) break;
392 j++;
393 sumj *= 11;
394 }

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.80

Tested by

no test coverage detected