My Project
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
22namespace af
23{
24 class array;
45 const matProp optRhs = AF_MAT_NONE);
46
61
76
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
187extern "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
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
A multi dimensional data container.
Definition array.h:27
af_mat_prop
Definition defines.h:304
@ AF_MAT_NONE
Default.
Definition defines.h:305
af_err
Definition defines.h:63
void * af_array
Definition defines.h:222
#define AFAPI
Definition defines.h:31
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 array dot(const array &lhs, const array &rhs, const matProp optLhs=AF_MAT_NONE, const matProp optRhs=AF_MAT_NONE)
Dot Product.
AFAPI array matmulTT(const array &lhs, const array &rhs)
Matrix multiply of two arrays.
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.
AFAPI array matmulTN(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.
AFAPI array matmulNT(const array &lhs, const array &rhs)
Matrix multiply of two arrays.
AFAPI af_err af_transpose(af_array *out, af_array in, const bool conjugate)
Transposes a matrix.
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.
AFAPI af_err af_transpose_inplace(af_array in, const bool conjugate)
Transposes a matrix in-place.
AFAPI array sum(const array &in, const int dim=-1)
C++ Interface for sum of elements in an array.
Definition algorithm.h:15