blas.h
Go to the documentation of this file.
1 /*******************************************************
2  * Copyright (c) 2014, ArrayFire
3  * All rights reserved.
4  *
5  * This file is distributed under 3-clause BSD license.
6  * The complete license agreement can be obtained at:
7  * http://arrayfire.com/licenses/BSD-3-Clause
8  ********************************************************/
9 
17 #pragma once
18 
19 #include <af/defines.h>
20 
21 #ifdef __cplusplus
22 namespace af
23 {
24  class array;
43  AFAPI array matmul(const array &lhs, const array &rhs,
44  const matProp optLhs = AF_MAT_NONE,
45  const matProp optRhs = AF_MAT_NONE);
46 
60  AFAPI array matmulNT(const array &lhs, const array &rhs);
61 
75  AFAPI array matmulTN(const array &lhs, const array &rhs);
76 
90  AFAPI array matmulTT(const array &lhs, const array &rhs);
91 
107  AFAPI array matmul(const array &a, const array &b, const array &c);
108 
109 
126  AFAPI array matmul(const array &a, const array &b, const array &c, const array &d);
127 
128 
156  AFAPI array dot (const array &lhs, const array &rhs,
157  const matProp optLhs = AF_MAT_NONE,
158  const matProp optRhs = AF_MAT_NONE);
159 
170  AFAPI array transpose(const array& in, const bool conjugate = false);
171 
182  AFAPI void transposeInPlace(array& in, const bool conjugate = false);
183 }
184 #endif
185 
186 #ifdef __cplusplus
187 extern "C" {
188 #endif
189 
205  const af_array lhs, const af_array rhs,
206  const af_mat_prop optLhs, const af_mat_prop optRhs);
207 
208 
221  AFAPI af_err af_dot( af_array *out,
222  const af_array lhs, const af_array rhs,
223  const af_mat_prop optLhs, const af_mat_prop optRhs);
224 
237  AFAPI af_err af_transpose(af_array *out, af_array in, const bool conjugate);
238 
249  AFAPI af_err af_transpose_inplace(af_array in, const bool conjugate);
250 
251 
252 #ifdef __cplusplus
253 }
254 #endif
AFAPI af_err af_dot(af_array *out, const af_array lhs, const af_array rhs, const af_mat_prop optLhs, const af_mat_prop optRhs)
Scalar dot product between two vectors.
AFAPI af_err af_matmul(af_array *out, const af_array lhs, const af_array rhs, const af_mat_prop optLhs, const af_mat_prop optRhs)
Matrix multiply of two af_array.
Definition: algorithm.h:14
AFAPI array matmulTN(const array &lhs, const array &rhs)
Matrix multiply of two arrays.
Default.
Definition: defines.h:305
AFAPI af_err af_transpose(af_array *out, af_array in, const bool conjugate)
Transposes a matrix.
static af::array array(af::dim4 idims, cl_mem buf, af::dtype type, bool retain=false)
Create an af::array object from an OpenCL cl_mem buffer.
Definition: opencl.h:329
AFAPI array matmulNT(const array &lhs, const array &rhs)
Matrix multiply of two arrays.
af_err
Definition: defines.h:63
AFAPI array matmulTT(const array &lhs, const array &rhs)
Matrix multiply of two arrays.
AFAPI array matmul(const array &lhs, const array &rhs, const matProp optLhs=AF_MAT_NONE, const matProp optRhs=AF_MAT_NONE)
Matrix multiply of two arrays.
af_mat_prop matProp
Definition: defines.h:411
#define AFAPI
Definition: defines.h:31
AFAPI array dot(const array &lhs, const array &rhs, const matProp optLhs=AF_MAT_NONE, const matProp optRhs=AF_MAT_NONE)
Dot Product.
AFAPI af_err af_transpose_inplace(af_array in, const bool conjugate)
Transposes a matrix in-place.
af_mat_prop
Definition: defines.h:304
void * af_array
Definition: defines.h:222
AFAPI void transposeInPlace(array &in, const bool conjugate=false)
Transposes a matrix in-place.
AFAPI array transpose(const array &in, const bool conjugate=false)
Transposes a matrix.