OpenCV 5.0.0-pre
Open Source Computer Vision
Loading...
Searching...
No Matches

Detailed Description

The function performs generalized matrix multiplication similar to the gemm functions in BLAS level 3: \(D = \alpha*AB+\beta*C\)

Parameters
src1pointer to input \(M\times N\) matrix \(A\) or \(A^T\) stored in row major order.
src1_stepnumber of bytes between two consequent rows of matrix \(A\) or \(A^T\).
src2pointer to input \(N\times K\) matrix \(B\) or \(B^T\) stored in row major order.
src2_stepnumber of bytes between two consequent rows of matrix \(B\) or \(B^T\).
alpha\(\alpha\) multiplier before \(AB\)
src3pointer to input \(M\times K\) matrix \(C\) or \(C^T\) stored in row major order.
src3_stepnumber of bytes between two consequent rows of matrix \(C\) or \(C^T\).
beta\(\beta\) multiplier before \(C\)
dstpointer to input \(M\times K\) matrix \(D\) stored in row major order.
dst_stepnumber of bytes between two consequent rows of matrix \(D\).
mnumber of rows in matrix \(A\) or \(A^T\), equals to number of rows in matrix \(D\)
nnumber of columns in matrix \(A\) or \(A^T\)
knumber of columns in matrix \(B\) or \(B^T\), equals to number of columns in matrix \(D\)
flagsalgorithm options (combination of CV_HAL_GEMM_1_T, ...).

Functions

int hal_ni_gemm32f (const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm32fc (const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm64f (const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm64fc (const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m, int n, int k, int flags)
 

Function Documentation

◆ hal_ni_gemm32f()

int hal_ni_gemm32f ( const float * src1,
size_t src1_step,
const float * src2,
size_t src2_step,
float alpha,
const float * src3,
size_t src3_step,
float beta,
float * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm32fc()

int hal_ni_gemm32fc ( const float * src1,
size_t src1_step,
const float * src2,
size_t src2_step,
float alpha,
const float * src3,
size_t src3_step,
float beta,
float * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm64f()

int hal_ni_gemm64f ( const double * src1,
size_t src1_step,
const double * src2,
size_t src2_step,
double alpha,
const double * src3,
size_t src3_step,
double beta,
double * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm64fc()

int hal_ni_gemm64fc ( const double * src1,
size_t src1_step,
const double * src2,
size_t src2_step,
double alpha,
const double * src3,
size_t src3_step,
double beta,
double * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline