Fork me on GitHub
 All Classes Files Functions Variables Groups Pages
elementwise.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008-2014 NVIDIA Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
21 #pragma once
22 
23 #include <cusp/detail/config.h>
24 
25 #include <thrust/execution_policy.h>
26 
27 namespace cusp
28 {
29 
38 template <typename DerivedPolicy,
39  typename MatrixType1, typename MatrixType2, typename MatrixType3,
40  typename BinaryFunction>
41 void elementwise(const thrust::detail::execution_policy_base<DerivedPolicy>& exec,
42  const MatrixType1& A,
43  const MatrixType2& B,
44  MatrixType3& C,
45  BinaryFunction op);
98 template <typename MatrixType1, typename MatrixType2, typename MatrixType3,
99  typename BinaryFunction>
100 void elementwise(const MatrixType1& A,
101  const MatrixType2& B,
102  MatrixType3& C,
103  BinaryFunction op);
104 
153 template <typename MatrixType1,
154  typename MatrixType2,
155  typename MatrixType3>
156 void add(const MatrixType1& A,
157  const MatrixType2& B,
158  MatrixType3& C);
159 
208 template <typename MatrixType1,
209  typename MatrixType2,
210  typename MatrixType3>
211 void subtract(const MatrixType1& A,
212  const MatrixType2& B,
213  MatrixType3& C);
217 } // end namespace cusp
218 
219 #include <cusp/detail/elementwise.inl>
220 
void subtract(const MatrixType1 &A, const MatrixType2 &B, MatrixType3 &C)
Compute the difference of two matrices.
void elementwise(const MatrixType1 &A, const MatrixType2 &B, MatrixType3 &C, BinaryFunction op)
Perform transform operation on two matrices.
void add(const MatrixType1 &A, const MatrixType2 &B, MatrixType3 &C)
Compute the sum of two matrices.