@@ -11,68 +11,76 @@ namespace vxsort_tests {
11
11
using namespace vxsort ::types;
12
12
using VM = vxsort::vector_machine;
13
13
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
-
22
14
#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>());
27
21
#endif
28
22
29
23
#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>());
34
30
#endif
35
31
36
32
#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>());
41
39
#endif
42
40
43
41
#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>());
48
48
#endif
49
49
50
50
#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>());
55
57
#endif
56
58
57
59
#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>());
62
66
#endif
63
67
64
68
#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>());
69
75
#endif
70
76
71
77
#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>());
76
84
#endif
77
85
78
86
#ifdef VXSORT_TEST_AVX2_I16
0 commit comments