OpenCV  4.1.1-pre
Open Source Computer Vision
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!

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

Collaboration diagram for Matrix multiplication:

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)
 

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, ...).

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

#include <core/src/hal_replacement.hpp>

Referenced by hal_ni_QR64f().

Here is the caller graph for this function:

◆ 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

#include <core/src/hal_replacement.hpp>

References CV_HAL_ERROR_NOT_IMPLEMENTED.

◆ 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

#include <core/src/hal_replacement.hpp>

References CV_HAL_ERROR_NOT_IMPLEMENTED.

◆ 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

#include <core/src/hal_replacement.hpp>

References CV_HAL_ERROR_NOT_IMPLEMENTED.