@@ -33,10 +33,10 @@ void test_reducer(Reduction &Redu, T Identity, BinaryOperation BOp, T A, T B) {
33
33
" Wrong result of binary operation." );
34
34
}
35
35
36
- template <typename ... Ts>
37
- class KernelNameGroup ;
36
+ template <typename ... Ts> class KernelNameGroup ;
38
37
39
- template <typename SpecializationKernelName, typename T, int Dim, class BinaryOperation >
38
+ template <typename SpecializationKernelName, typename T, int Dim,
39
+ class BinaryOperation >
40
40
void testKnown (T Identity, BinaryOperation BOp, T A, T B) {
41
41
buffer<T, 1 > ReduBuf (1 );
42
42
@@ -47,8 +47,7 @@ void testKnown(T Identity, BinaryOperation BOp, T A, T B) {
47
47
accessor<T, Dim, access::mode::discard_write, access::target::global_buffer>
48
48
ReduAcc (ReduBuf, CGH);
49
49
auto Redu = intel::reduction (ReduAcc, BOp);
50
- assert (Redu.getIdentity () == Identity &&
51
- " Failed getIdentity() check()." );
50
+ assert (Redu.getIdentity () == Identity && " Failed getIdentity() check()." );
52
51
test_reducer (Redu, A, B);
53
52
test_reducer (Redu, Identity, BOp, A, B);
54
53
@@ -57,7 +56,8 @@ void testKnown(T Identity, BinaryOperation BOp, T A, T B) {
57
56
});
58
57
}
59
58
60
- template <typename SpecializationKernelName, typename T, int Dim, typename KernelName, class BinaryOperation >
59
+ template <typename SpecializationKernelName, typename T, int Dim,
60
+ class BinaryOperation >
61
61
void testUnknown (T Identity, BinaryOperation BOp, T A, T B) {
62
62
buffer<T, 1 > ReduBuf (1 );
63
63
queue Q;
@@ -67,8 +67,7 @@ void testUnknown(T Identity, BinaryOperation BOp, T A, T B) {
67
67
accessor<T, Dim, access::mode::discard_write, access::target::global_buffer>
68
68
ReduAcc (ReduBuf, CGH);
69
69
auto Redu = intel::reduction (ReduAcc, Identity, BOp);
70
- assert (Redu.getIdentity () == Identity &&
71
- " Failed getIdentity() check()." );
70
+ assert (Redu.getIdentity () == Identity && " Failed getIdentity() check()." );
72
71
test_reducer (Redu, Identity, BOp, A, B);
73
72
74
73
// Command group must have at least one task in it. Use an empty one.
@@ -78,36 +77,51 @@ void testUnknown(T Identity, BinaryOperation BOp, T A, T B) {
78
77
79
78
template <typename SpecializationKernelName, typename T, class BinaryOperation >
80
79
void testBoth (T Identity, BinaryOperation BOp, T A, T B) {
81
- testKnown<KernelNameGroup<SpecializationKernelName, class KernelName_SpronAvHpacKFL >, T, 0 >(Identity, BOp, A, B);
82
- testKnown<KernelNameGroup<SpecializationKernelName, class KernelName_XFxrYatPJlU >, T, 1 >(Identity, BOp, A, B);
83
- testUnknown<KernelNameGroup<SpecializationKernelName, class KernelName_oUFYMyQSlL >, T, 0 , Unknown<T, 0 , BinaryOperation>>(Identity, BOp, A, B);
84
- testUnknown<KernelNameGroup<SpecializationKernelName, class KernelName_Ndbp >, T, 1 , Unknown<T, 1 , BinaryOperation>>(Identity, BOp, A, B);
80
+ testKnown<KernelNameGroup<SpecializationKernelName,
81
+ class KernelName_SpronAvHpacKFL >,
82
+ T, 0 >(Identity, BOp, A, B);
83
+ testKnown<
84
+ KernelNameGroup<SpecializationKernelName, class KernelName_XFxrYatPJlU >,
85
+ T, 1 >(Identity, BOp, A, B);
86
+ testUnknown<
87
+ KernelNameGroup<SpecializationKernelName, class KernelName_oUFYMyQSlL >, T,
88
+ 0 >(Identity, BOp, A, B);
89
+ testUnknown<KernelNameGroup<SpecializationKernelName, class KernelName_Ndbp >,
90
+ T, 1 >(Identity, BOp, A, B);
85
91
}
86
92
87
93
int main () {
88
- testBoth<class KernelName_DpWavJTNjhJtrHmLWt , int >(0 , intel::plus<int >(), 1 , 7 );
94
+ testBoth<class KernelName_DpWavJTNjhJtrHmLWt , int >(0 , intel::plus<int >(), 1 ,
95
+ 7 );
89
96
testBoth<class KernelName_MHRtc , int >(1 , std::multiplies<int >(), 1 , 7 );
90
- testBoth<class KernelName_eYhurMyKBZvzctmqwUZ , int >(0 , intel::bit_or<int >(), 1 , 8 );
91
- testBoth<class KernelName_DpVPIUBjUMGZEwBFHH , int >(0 , intel::bit_xor<int >(), 7 , 3 );
92
- testBoth<class KernelName_vGKFactgrkngMXd , int >(~0 , intel::bit_and<int >(), 7 , 3 );
93
- testBoth<class KernelName_GLpknSBxclKWjm , int , intel::minimum<int >((std::numeric_limits<int >::max)(), intel::minimum<int >(), 7 , 3 );
94
- testBoth<class KernelName_EvOaOYQ , int , intel::maximum<int >((std::numeric_limits<int >::min)(), intel::maximum<int >(), 7 , 3 );
95
-
96
- testBoth<class KernelName_iFbcoTtPeDtUEK , float >(0 , intel::plus<float >(), 1 , 7 );
97
- testBoth<class KernelName_PEMJanstdNezDSXnP , float >(1 , std::multiplies<float >(), 1 , 7 );
98
- testBoth<class KernelName_wOEuftXSjCLpoTOMrYHR , float >(getMaximumFPValue<float >(), intel::minimum<float >(), 7 , 3 );
99
- testBoth<class KernelName_HzFCIZQKeV , float >(getMinimumFPValue<float >(), intel::maximum<float >(), 7 , 3 );
100
-
101
- testUnknown<class KernelName_sJOZPgFeiALyqwIWnFP , CustomVec<float >, 0 ,
102
- Unknown<CustomVec<float >, 0 , CustomVecPlus<float >>>(
97
+ testBoth<class KernelName_eYhurMyKBZvzctmqwUZ , int >(0 , intel::bit_or<int >(),
98
+ 1 , 8 );
99
+ testBoth<class KernelName_DpVPIUBjUMGZEwBFHH , int >(0 , intel::bit_xor<int >(),
100
+ 7 , 3 );
101
+ testBoth<class KernelName_vGKFactgrkngMXd , int >(~0 , intel::bit_and<int >(), 7 ,
102
+ 3 );
103
+ testBoth<class KernelName_GLpknSBxclKWjm , int >(
104
+ (std::numeric_limits<int >::max)(), intel::minimum<int >(), 7 , 3 );
105
+ testBoth<class KernelName_EvOaOYQ , int >((std::numeric_limits<int >::min)(),
106
+ intel::maximum<int >(), 7 , 3 );
107
+
108
+ testBoth<class KernelName_iFbcoTtPeDtUEK , float >(0 , intel::plus<float >(), 1 ,
109
+ 7 );
110
+ testBoth<class KernelName_PEMJanstdNezDSXnP , float >(
111
+ 1 , std::multiplies<float >(), 1 , 7 );
112
+ testBoth<class KernelName_wOEuftXSjCLpoTOMrYHR , float >(
113
+ getMaximumFPValue<float >(), intel::minimum<float >(), 7 , 3 );
114
+ testBoth<class KernelName_HzFCIZQKeV , float >(getMinimumFPValue<float >(),
115
+ intel::maximum<float >(), 7 , 3 );
116
+
117
+ testUnknown<class KernelName_sJOZPgFeiALyqwIWnFP , CustomVec<float >, 0 >(
103
118
CustomVec<float >(0 ), CustomVecPlus<float >(), CustomVec<float >(1 ),
104
119
CustomVec<float >(7 ));
105
- testUnknown<class KernelName_jMA , CustomVec<float >, 1 ,
106
- Unknown<CustomVec<float >, 1 , CustomVecPlus<float >>>(
120
+ testUnknown<class KernelName_jMA , CustomVec<float >, 1 >(
107
121
CustomVec<float >(0 ), CustomVecPlus<float >(), CustomVec<float >(1 ),
108
122
CustomVec<float >(7 ));
109
123
110
- testUnknown<class KernelName_zhF , int , 0 , class BitOrName >(
124
+ testUnknown<class KernelName_zhF , int , 0 >(
111
125
0 , [](auto a, auto b) { return a | b; }, 1 , 8 );
112
126
113
127
std::cout << " Test passed\n " ;
0 commit comments