@@ -11,68 +11,76 @@ namespace vxsort_tests {
1111using namespace vxsort ::types;
1212using VM = vxsort::vector_machine;
1313
14- auto bitonic_machine_allvalues_avx2_16 = ValuesIn(range(16 , 64 , 16 ));
15- auto bitonic_machine_allvalues_avx2_32 = ValuesIn(range(8 , 32 , 8 ));
16- auto bitonic_machine_allvalues_avx2_64 = ValuesIn(range(4 , 16 , 4 ));
17-
18- auto bitonic_allvalues_avx2_16 = ValuesIn(range(1 , 8192 , 1 ));
19- auto bitonic_allvalues_avx2_32 = ValuesIn(range(1 , 4096 , 1 ));
20- auto bitonic_allvalues_avx2_64 = ValuesIn(range(1 , 2048 , 1 ));
21-
2214#ifdef VXSORT_TEST_AVX2_I16
23- struct BitonicMachineAVX2_i16 : public SortFixture <i16 > {};
24- struct BitonicAVX2_i16 : public SortFixture <i16 > {};
25- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i16, bitonic_machine_allvalues_avx2_16, PrintValue());
26- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i16, bitonic_allvalues_avx2_16, PrintValue());
15+ auto bitonic_machine_allvalues_avx2_i16 = ValuesIn(SortTestParams<i16 >::gen_step(SortPattern::unique_values, 16 , 64 , 16 , 0 , 0x1000 , 0x1 ));
16+ auto bitonic_allvalues_avx2_i16 = ValuesIn(SortTestParams<i16 >::gen_step(SortPattern::unique_values, 1 , 8192 , 1 , 0 , 0x1000 , 0x1 ));
17+ struct BitonicMachineAVX2_i16 : public ParametrizedSortFixture <i16 > {};
18+ struct BitonicAVX2_i16 : public ParametrizedSortFixture <i16 > {};
19+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i16, bitonic_machine_allvalues_avx2_i16, PrintSortTestParams<i16 >());
20+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i16, bitonic_allvalues_avx2_i16, PrintSortTestParams<i16 >());
2721#endif
2822
2923#ifdef VXSORT_TEST_AVX2_I32
30- struct BitonicMachineAVX2_i32 : public SortFixture <i32 > {};
31- struct BitonicAVX2_i32 : public SortFixture <i32 > {};
32- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i32, bitonic_machine_allvalues_avx2_32, PrintValue());
33- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i32, bitonic_allvalues_avx2_32, PrintValue());
24+ auto bitonic_machine_allvalues_avx2_i32 = ValuesIn(SortTestParams<i32 >::gen_step(SortPattern::unique_values, 8 , 32 , 8 , 0 , 0x1000 , 0x1 ));
25+ auto bitonic_allvalues_avx2_i32 = ValuesIn(SortTestParams<i32 >::gen_step(SortPattern::unique_values, 1 , 4096 , 1 , 0 , 0x1000 , 0x1 ));
26+ struct BitonicMachineAVX2_i32 : public ParametrizedSortFixture <i32 > {};
27+ struct BitonicAVX2_i32 : public ParametrizedSortFixture <i32 > {};
28+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i32, bitonic_machine_allvalues_avx2_i32, PrintSortTestParams<i32 >());
29+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i32, bitonic_allvalues_avx2_i32, PrintSortTestParams<i32 >());
3430#endif
3531
3632#ifdef VXSORT_TEST_AVX2_I64
37- struct BitonicMachineAVX2_i64 : public SortFixture <i64 > {};
38- struct BitonicAVX2_i64 : public SortFixture <i64 > {};
39- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i64, bitonic_machine_allvalues_avx2_64, PrintValue());
40- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i64, bitonic_allvalues_avx2_64, PrintValue());
33+ auto bitonic_machine_allvalues_avx2_i64 = ValuesIn(SortTestParams<i64 >::gen_step(SortPattern::unique_values, 4 , 16 , 4 , 0 , 0x1000 , 0x1 ));
34+ auto bitonic_allvalues_avx2_i64 = ValuesIn(SortTestParams<i64 >::gen_step(SortPattern::unique_values, 1 , 2048 , 1 , 0 , 0x1000 , 0x1 ));
35+ struct BitonicMachineAVX2_i64 : public ParametrizedSortFixture <i64 > {};
36+ struct BitonicAVX2_i64 : public ParametrizedSortFixture <i64 > {};
37+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_i64, bitonic_machine_allvalues_avx2_i64, PrintSortTestParams<i64 >());
38+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_i64, bitonic_allvalues_avx2_i64, PrintSortTestParams<i64 >());
4139#endif
4240
4341#ifdef VXSORT_TEST_AVX2_U16
44- struct BitonicMachineAVX2_u16 : public SortFixture <u16 > {};
45- struct BitonicAVX2_u16 : public SortFixture <u16 > {};
46- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u16, bitonic_machine_allvalues_avx2_16, PrintValue());
47- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u16, bitonic_allvalues_avx2_16, PrintValue());
42+ auto bitonic_machine_allvalues_avx2_u16 = ValuesIn(SortTestParams<u16 >::gen_step(SortPattern::unique_values, 16 , 64 , 16 , 0 , 0x1000 , 0x1 ));
43+ auto bitonic_allvalues_avx2_u16 = ValuesIn(SortTestParams<u16 >::gen_step(SortPattern::unique_values, 1 , 8192 , 1 , 0 , 0x1000 , 0x1 ));
44+ struct BitonicMachineAVX2_u16 : public ParametrizedSortFixture <u16 > {};
45+ struct BitonicAVX2_u16 : public ParametrizedSortFixture <u16 > {};
46+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u16, bitonic_machine_allvalues_avx2_u16, PrintSortTestParams<u16 >());
47+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u16, bitonic_allvalues_avx2_u16, PrintSortTestParams<u16 >());
4848#endif
4949
5050#ifdef VXSORT_TEST_AVX2_U32
51- struct BitonicMachineAVX2_u32 : public SortFixture <u32 > {};
52- struct BitonicAVX2_u32 : public SortFixture <u32 > {};
53- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u32, bitonic_machine_allvalues_avx2_32, PrintValue());
54- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u32, bitonic_allvalues_avx2_32, PrintValue());
51+ auto bitonic_machine_allvalues_avx2_u32 = ValuesIn(SortTestParams<u32 >::gen_step(SortPattern::unique_values, 8 , 32 , 8 , 0 , 0x1000 , 0x1 ));
52+ auto bitonic_allvalues_avx2_u32 = ValuesIn(SortTestParams<u32 >::gen_step(SortPattern::unique_values, 1 , 4096 , 1 , 0 , 0x1000 , 0x1 ));
53+ struct BitonicMachineAVX2_u32 : public ParametrizedSortFixture <u32 > {};
54+ struct BitonicAVX2_u32 : public ParametrizedSortFixture <u32 > {};
55+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u32, bitonic_machine_allvalues_avx2_u32, PrintSortTestParams<u32 >());
56+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u32, bitonic_allvalues_avx2_u32, PrintSortTestParams<u32 >());
5557#endif
5658
5759#ifdef VXSORT_TEST_AVX2_U64
58- struct BitonicMachineAVX2_u64 : public SortFixture <u64 > {};
59- struct BitonicAVX2_u64 : public SortFixture <u64 > {};
60- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u64, bitonic_machine_allvalues_avx2_64, PrintValue());
61- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u64, bitonic_allvalues_avx2_64, PrintValue());
60+ auto bitonic_machine_allvalues_avx2_u64 = ValuesIn(SortTestParams<u64 >::gen_step(SortPattern::unique_values, 4 , 16 , 4 , 0 , 0x1000 , 0x1 ));
61+ auto bitonic_allvalues_avx2_u64 = ValuesIn(SortTestParams<u64 >::gen_step(SortPattern::unique_values, 1 , 2048 , 1 , 0 , 0x1000 , 0x1 ));
62+ struct BitonicMachineAVX2_u64 : public ParametrizedSortFixture <u64 > {};
63+ struct BitonicAVX2_u64 : public ParametrizedSortFixture <u64 > {};
64+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_u64, bitonic_machine_allvalues_avx2_u64, PrintSortTestParams<u64 >());
65+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_u64, bitonic_allvalues_avx2_u64, PrintSortTestParams<u64 >());
6266#endif
6367
6468#ifdef VXSORT_TEST_AVX2_F32
65- struct BitonicMachineAVX2_f32 : public SortFixture <f32 > {};
66- struct BitonicAVX2_f32 : public SortFixture <f32 > {};
67- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_f32, bitonic_machine_allvalues_avx2_32, PrintValue());
68- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_f32, bitonic_allvalues_avx2_32, PrintValue());
69+ auto bitonic_machine_allvalues_avx2_f32 = ValuesIn(SortTestParams<f32 >::gen_step(SortPattern::unique_values, 8 , 32 , 8 , 0 , 1234 .5f , 0 .1f ));
70+ auto bitonic_allvalues_avx2_f32 = ValuesIn(SortTestParams<f32 >::gen_step(SortPattern::unique_values, 1 , 4096 , 1 , 0 , 1234 .5f , 0 .1f ));
71+ struct BitonicMachineAVX2_f32 : public ParametrizedSortFixture <f32 > {};
72+ struct BitonicAVX2_f32 : public ParametrizedSortFixture <f32 > {};
73+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_f32, bitonic_machine_allvalues_avx2_f32, PrintSortTestParams<f32 >());
74+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_f32, bitonic_allvalues_avx2_f32, PrintSortTestParams<f32 >());
6975#endif
7076
7177#ifdef VXSORT_TEST_AVX2_F64
72- struct BitonicMachineAVX2_f64 : public SortFixture <f64 > {};
73- struct BitonicAVX2_f64 : public SortFixture <f64 > {};
74- INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_f64, bitonic_machine_allvalues_avx2_64, PrintValue());
75- INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_f64, bitonic_allvalues_avx2_64, PrintValue());
78+ auto bitonic_machine_allvalues_avx2_f64 = ValuesIn(SortTestParams<f64 >::gen_step(SortPattern::unique_values, 4 , 16 , 4 , 0 , 1234.5 , 0.1 ));
79+ auto bitonic_allvalues_avx2_f64 = ValuesIn(SortTestParams<f64 >::gen_step(SortPattern::unique_values, 1 , 2048 , 1 , 0 , 1234.5 , 0.1 ));
80+ struct BitonicMachineAVX2_f64 : public ParametrizedSortFixture <f64 > {};
81+ struct BitonicAVX2_f64 : public ParametrizedSortFixture <f64 > {};
82+ INSTANTIATE_TEST_SUITE_P (BitonicMachineAVX2, BitonicMachineAVX2_f64, bitonic_machine_allvalues_avx2_f64, PrintSortTestParams<f64 >());
83+ INSTANTIATE_TEST_SUITE_P (BitonicAVX2, BitonicAVX2_f64, bitonic_allvalues_avx2_f64, PrintSortTestParams<f64 >());
7684#endif
7785
7886#ifdef VXSORT_TEST_AVX2_I16
0 commit comments