@@ -21,14 +21,14 @@ multiply(A&& a,
21
21
22
22
template <MatrixRange A,
23
23
MatrixRange B,
24
- BinaryOperator< grb::matrix_scalar_t<A > , grb::matrix_scalar_t<B >> Combine,
24
+ BinaryOperator< grb::matrix_scalar_t<A > , grb::matrix_scalar_t<B >> Combine = grb::multiplies<> ,
25
25
BinaryOperator<grb::combine_result_t<A, B, Combine>,
26
26
grb::combine_result_t<A, B, Combine>,
27
- grb::combine_result_t<A, B, Combine>> Reduce,
27
+ grb::combine_result_t<A, B, Combine>> Reduce = grb::plus<> ,
28
28
MaskMatrixRange M = grb::full_matrix_mask<>,
29
+ MutableMatrixRange<grb::combine_result_t<A, B, Combine>> C,
29
30
BinaryOperator< grb::matrix_scalar_t<C > ,
30
31
grb::combine_result_t<A, B, Combine>> Accumulate = grb::take_right,
31
- MutableMatrixRange<grb::combine_result_t<A, B, Combine>> C
32
32
>
33
33
void multiply(C&& c, (2)
34
34
A&& a,
@@ -97,16 +97,17 @@ multiply(A&& a,
97
97
Combine&& combine = Combine{},
98
98
M&& mask = M{});
99
99
100
+
100
101
template <MatrixRange A,
101
102
VectorRange B,
102
- BinaryOperator<grb::matrix_scalar_t<A>, grb::vector_scalar_t<B>> Combine,
103
+ BinaryOperator<grb::matrix_scalar_t<A>, grb::vector_scalar_t<B>> Combine = grb::multiplies<> ,
103
104
BinaryOperator<grb::combine_result_t<A, B, Combine>,
104
105
grb::combine_result_t<A, B, Combine>,
105
- grb::combine_result_t<A, B, Combine>> Reduce,
106
+ grb::combine_result_t<A, B, Combine>> Reduce = grb::plus<> ,
106
107
MaskVectorRange M = grb::full_vector_mask<>,
107
- BinaryOperator <grb::matrix_scalar_t<C> ,
108
- grb::combine_result_t<A, B, Combine>> Accumulate = grb::take_right ,
109
- MutableVectorRange< grb::combine_result_t<A, B, Combine>> C
108
+ MutableVectorRange <grb::combine_result_t<A, B, Combine>> C ,
109
+ BinaryOperator< grb::vector_scalar_t<C> ,
110
+ grb::combine_result_t<A, B, Combine>> Accumulate = grb::take_right<>
110
111
>
111
112
void multiply(C&& c, (6)
112
113
A&& a,
@@ -245,14 +246,14 @@ multiply(A&& a,
245
246
246
247
template <VectorRange A,
247
248
MatrixRange B,
248
- BinaryOperator<grb::vector_scalar_t<A>, grb::matrix_scalar_t<B>> Combine,
249
+ BinaryOperator<grb::vector_scalar_t<A>, grb::matrix_scalar_t<B>> Combine = grb::multiplies<> ,
249
250
BinaryOperator<grb::combine_result_t<A, B, Combine>,
250
251
grb::combine_result_t<A, B, Combine>,
251
- grb::combine_result_t<A, B, Combine>> Reduce,
252
+ grb::combine_result_t<A, B, Combine>> Reduce = grb::plus<> ,
252
253
MaskVectorRange M = grb::full_vector_mask<>,
254
+ MutableVectorRange<grb::combine_result_t<A, B, Combine>> C,
253
255
BinaryOperator<grb::vector_scalar_t<C>,
254
256
grb::combine_result_t<A, B, Combine>> Accumulate = grb::take_right,
255
- MutableVectorRange<grb::combine_result_t<A, B, Combine>> C
256
257
>
257
258
void multiply(C&& c, (14)
258
259
A&& a,
0 commit comments