Wondercoll
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Typedefs | Functions | Variables
cxmatmul.cpp File Reference
#include "_cxcore.h"

Classes

struct  vec_data
 

Macros

#define ICV_DEF_GEMM_SINGLE_MUL(flavor, arrtype, worktype)
 
#define ICV_DEF_GEMM_BLOCK_MUL(flavor, arrtype, worktype)
 
#define ICV_DEF_GEMM_STORE(flavor, arrtype, worktype)
 
#define ICV_DEF_TRANSFORM_CASE_C1(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_DIAG_TRANSFORM_CASE_C1(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_TRANSFORM_CASE_C2(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_DIAG_TRANSFORM_CASE_C2(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_TRANSFORM_CASE_C3(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_DIAG_TRANSFORM_CASE_C3(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_TRANSFORM_CASE_C4(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_DIAG_TRANSFORM_CASE_C4(arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_)
 
#define ICV_DEF_TRANSFORM_FUNC(flavor, arrtype, temptype, _ld_,_cast_macro1_, _cast_macro2_, cn)
 
#define ICV_DEF_DIAG_TRANSFORM_FUNC(flavor, arrtype, temptype, _ld_, _cast_macro1_, _cast_macro2_, cn)
 
#define icvTransform_8s_C1R   0
 
#define icvTransform_8s_C2R   0
 
#define icvTransform_8s_C3R   0
 
#define icvTransform_8s_C4R   0
 
#define icvDiagTransform_8s_C1R   0
 
#define icvDiagTransform_8s_C2R   0
 
#define icvDiagTransform_8s_C3R   0
 
#define icvDiagTransform_8s_C4R   0
 
#define icvDiagTransform_8u_C1R   0
 
#define icvDiagTransform_8u_C2R   0
 
#define icvDiagTransform_8u_C3R   0
 
#define icvDiagTransform_8u_C4R   0
 
#define ICV_PERSPECTIVE_TRANSFORM_FUNC_2(flavor, arrtype)
 
#define ICV_PERSPECTIVE_TRANSFORM_FUNC_3(flavor, arrtype)
 
#define ICV_DEF_MULADDC_CASE_C1(arrtype, temptype, src1, src2, dst, len)
 
#define ICV_DEF_MULADDC_CASE_C2(arrtype, temptype, src1, src2, dst, len)
 
#define ICV_DEF_MULADDS_FUNC(flavor, arrtype, scalartype, entry, cn)
 
#define ICV_DOT_PRODUCT_CASE(flavor, srctype, avgtype, load_macro)
 
#define ICV_EXT_PRODUCT_CASE(flavor, srctype, avgtype, load_macro)
 
#define ICV_MAHALANOBIS(flavor, arrtype)
 
#define ICV_DEF_MULTRANS_R_FUNC(flavor, srctype, dsttype, load_macro)
 
#define ICV_DEF_MULTRANS_L_FUNC(flavor, srctype, dsttype, load_macro)
 
#define ICV_DEF_DOT_PROD_FUNC_2D(flavor, arrtype, temptype, sumtype)
 
#define icvDotProduct_8s_C1R   0
 

Typedefs

typedef CvStatus(CV_STDCALLCvGEMMSingleMulFunc )(const void *src1, size_t step1, const void *src2, size_t step2, const void *src3, size_t step3, void *dst, size_t dststep, CvSize srcsize, CvSize dstsize, double alpha, double beta, int flags)
 
typedef CvStatus(CV_STDCALLCvGEMMBlockMulFunc )(const void *src1, size_t step1, const void *src2, size_t step2, void *dst, size_t dststep, CvSize srcsize, CvSize dstsize, int flags)
 
typedef CvStatus(CV_STDCALLCvGEMMStoreFunc )(const void *src1, size_t step1, const void *src2, size_t step2, void *dst, size_t dststep, CvSize dstsize, double alpha, double beta, int flags)
 
typedef CvStatus(CV_STDCALLCvTransformFunc )(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *mat, int dst_cn)
 
typedef CvStatus(CV_STDCALLCvDiagTransformFunc )(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *mat)
 
typedef CvStatus(CV_STDCALLCvColorTwistIPPFunc )(const void *src, int srcstep, void *dst, int dststep, CvSize size, const float *coeffs)
 
typedef struct vec_data vec_data
 
typedef CvStatus(CV_STDCALLCvMahalanobisFunc )(const void *mat, int matstep, const void *vec, int len, double *_result)
 
typedef int srcstep
 
typedef int void * dst
 
typedef int void int dststep
 
typedef int void int const void * delta
 
typedef int void int const void int deltastep
 
typedef int void int const
void int CvSize 
size
 
typedef int void int const
void int CvSize int 
delta_cols
 
typedef int void int const
void int CvSize int double 
scale
 

Functions

CV_IMPL void cvGEMM (const CvArr *Aarr, const CvArr *Barr, double alpha, const CvArr *Carr, double beta, CvArr *Darr, int flags)
 
CV_IMPL void cvTransform (const CvArr *srcarr, CvArr *dstarr, const CvMat *transmat, const CvMat *shiftvec)
 
CV_IMPL void cvPerspectiveTransform (const CvArr *srcarr, CvArr *dstarr, const CvMat *mat)
 
CV_IMPL void cvScaleAdd (const CvArr *srcarr1, CvScalar scale, const CvArr *srcarr2, CvArr *dstarr)
 
CV_IMPL void cvCalcCovarMatrix (const CvArr **vecarr, int count, CvArr *covarr, CvArr *avgarr, int flags)
 
CV_IMPL double cvMahalanobis (const CvArr *srcAarr, const CvArr *srcBarr, CvArr *matarr)
 
typedef CvStatus (CV_STDCALL *CvMulTransposedFunc)(const void *src
 
CV_IMPL void cvMulTransposed (const CvArr *srcarr, CvArr *dstarr, int order, const CvArr *deltaarr, double scale)
 
CV_IMPL double cvDotProduct (const CvArr *srcAarr, const CvArr *srcBarr)
 

Variables

icvBLAS_GEMM_32f_t icvBLAS_GEMM_32f_p = 0
 
icvBLAS_GEMM_64f_t icvBLAS_GEMM_64f_p = 0
 
icvBLAS_GEMM_32fc_t icvBLAS_GEMM_32fc_p = 0
 
icvBLAS_GEMM_64fc_t icvBLAS_GEMM_64fc_p = 0
 
icvColorTwist_8u_C3R_t icvColorTwist_8u_C3R_p = 0
 
icvColorTwist_16u_C3R_t icvColorTwist_16u_C3R_p = 0
 
icvColorTwist_16s_C3R_t icvColorTwist_16s_C3R_p = 0
 
icvColorTwist_32f_C3R_t icvColorTwist_32f_C3R_p = 0
 
icvColorTwist_32f_C4R_t icvColorTwist_32f_C4R_p = 0
 
icvColorToGray_8u_C3C1R_t icvColorToGray_8u_C3C1R_p = 0
 
icvColorToGray_16u_C3C1R_t icvColorToGray_16u_C3C1R_p = 0
 
icvColorToGray_16s_C3C1R_t icvColorToGray_16s_C3C1R_p = 0
 
icvColorToGray_32f_C3C1R_t icvColorToGray_32f_C3C1R_p = 0
 
icvColorToGray_8u_AC4C1R_t icvColorToGray_8u_AC4C1R_p = 0
 
icvColorToGray_16u_AC4C1R_t icvColorToGray_16u_AC4C1R_p = 0
 
icvColorToGray_16s_AC4C1R_t icvColorToGray_16s_AC4C1R_p = 0
 
icvColorToGray_32f_AC4C1R_t icvColorToGray_32f_AC4C1R_p = 0
 

Macro Definition Documentation

#define ICV_DEF_DIAG_TRANSFORM_CASE_C1 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
for( i = 0; i < size.width; i++ ) \
{ \
double ft0; \
temptype t0; \
ft0 = mat[0]*_ld_(src[i]) + mat[1]; \
t0 = _cast_macro1_(ft0); \
dst[i] = _cast_macro2_(t0); \
}
#define ICV_DEF_DIAG_TRANSFORM_CASE_C2 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
for( i = 0; i < size.width*2; i += 2 ) \
{ \
double ft0, ft1; \
temptype t0, t1; \
ft0 = mat[0]*_ld_(src[i]) + mat[2]; \
ft1 = mat[4]*_ld_(src[i+1]) + mat[5]; \
t0 = _cast_macro1_(ft0); \
t1 = _cast_macro1_(ft1); \
dst[i] = _cast_macro2_(t0); \
dst[i+1] = _cast_macro2_(t1); \
}
#define ICV_DEF_DIAG_TRANSFORM_CASE_C3 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
for( i = 0; i < size.width*3; i += 3 ) \
{ \
double ft0, ft1, ft2; \
temptype t0, t1, t2; \
ft0 = mat[0]*_ld_(src[i]) + mat[3]; \
ft1 = mat[5]*_ld_(src[i+1]) + mat[7]; \
ft2 = mat[10]*_ld_(src[i+2]) + mat[11]; \
t0 = _cast_macro1_(ft0); \
t1 = _cast_macro1_(ft1); \
t2 = _cast_macro1_(ft2); \
dst[i] = _cast_macro2_(t0); \
dst[i+1] = _cast_macro2_(t1); \
dst[i+2] = _cast_macro2_(t2); \
}
#define ICV_DEF_DIAG_TRANSFORM_CASE_C4 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
for( i = 0; i < size.width*4; i += 4 ) \
{ \
double ft0, ft1; \
temptype t0, t1; \
ft0 = mat[0]*_ld_(src[i]) + mat[4]; \
ft1 = mat[6]*_ld_(src[i+1]) + mat[9]; \
t0 = _cast_macro1_(ft0); \
t1 = _cast_macro1_(ft1); \
dst[i] = _cast_macro2_(t0); \
dst[i+1] = _cast_macro2_(t1); \
ft0 = mat[12]*_ld_(src[i+2]) + mat[14]; \
ft1 = mat[18]*_ld_(src[i+3]) + mat[19]; \
t0 = _cast_macro1_(ft0); \
t1 = _cast_macro1_(ft1); \
dst[i+2] = _cast_macro2_(t0); \
dst[i+3] = _cast_macro2_(t1); \
}
#define ICV_DEF_DIAG_TRANSFORM_FUNC (   flavor,
  arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_,
  cn 
)
Value:
static CvStatus CV_STDCALL \
icvDiagTransform_##flavor( const arrtype* src, int srcstep, \
const double* mat ) \
{ \
srcstep /= sizeof(src[0]); \
dststep /= sizeof(dst[0]); \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
int i; \
ICV_DEF_DIAG_TRANSFORM_CASE_C##cn( arrtype, temptype, _ld_, \
_cast_macro1_, _cast_macro2_ ) \
} \
\
return CV_OK; \
}
#define ICV_DEF_DOT_PROD_FUNC_2D (   flavor,
  arrtype,
  temptype,
  sumtype 
)
Value:
static CvStatus CV_STDCALL \
icvDotProduct_##flavor##_C1R( const arrtype* src1, int step1, \
const arrtype* src2, int step2, \
CvSize size, sumtype* _sum ) \
{ \
sumtype sum = 0; \
step1 /= sizeof(src1[0]); step2 /= sizeof(src2[0]); \
for( ; size.height--; src1 += step1, src2 += step2 ) \
{ \
int i; \
for( i = 0; i <= size.width - 4; i += 4 ) \
{ \
temptype t0 = (temptype)src1[i]*src2[i]; \
temptype t1 = (temptype)src1[i+1]*src2[i+1]; \
t0 += (temptype)src1[i+2]*src2[i+2]; \
t1 += (temptype)src1[i+3]*src2[i+3]; \
sum += t0 + t1; \
} \
for( ; i < size.width; i++ ) \
{ \
sum += (temptype)src1[i]*src2[i]; \
} \
} \
\
*_sum = sum; \
return CV_OK; \
}
#define ICV_DEF_GEMM_BLOCK_MUL (   flavor,
  arrtype,
  worktype 
)
#define ICV_DEF_GEMM_SINGLE_MUL (   flavor,
  arrtype,
  worktype 
)
#define ICV_DEF_GEMM_STORE (   flavor,
  arrtype,
  worktype 
)
#define ICV_DEF_MULADDC_CASE_C1 (   arrtype,
  temptype,
  src1,
  src2,
  dst,
  len 
)
Value:
{ \
int i; \
for( i = 0; i <= (len) - 4; i += 4 ) \
{ \
temptype t0 = (src1)[i]*s0 + (src2)[i]; \
temptype t1 = (src1)[i+1]*s0 + (src2)[i+1]; \
\
(dst)[i] = (arrtype)t0; \
(dst)[i+1] = (arrtype)t1; \
\
t0 = (src1)[i+2]*s0 + (src2)[i+2]; \
t1 = (src1)[i+3]*s0 + (src2)[i+3]; \
\
(dst)[i+2] = (arrtype)t0; \
(dst)[i+3] = (arrtype)t1; \
} \
for( ; i < (len); i++ ) \
{ \
temptype t0 = (src1)[i]*s0 + (src2)[i]; \
(dst)[i] = (arrtype)t0; \
} \
}
#define ICV_DEF_MULADDC_CASE_C2 (   arrtype,
  temptype,
  src1,
  src2,
  dst,
  len 
)
Value:
{ \
int i; \
for( i = 0; i <= (len) - 4; i += 4 ) \
{ \
temptype t0 = (src1)[i]*s0 - (src1)[i+1]*s1 + (src2)[i]; \
temptype t1 = (src1)[i]*s1 + (src1)[i+1]*s0 + (src2)[i+1]; \
\
(dst)[i] = (arrtype)t0; \
(dst)[i+1] = (arrtype)t1; \
\
t0 = (src1)[i+2]*s0 - (src1)[i+3]*s1 + (src2)[i+2]; \
t1 = (src1)[i+2]*s1 + (src1)[i+3]*s0 + (src2)[i+3]; \
\
(dst)[i+2] = (arrtype)t0; \
(dst)[i+3] = (arrtype)t1; \
} \
for( ; i < (len); i += 2 ) \
{ \
temptype t0 = (src1)[i]*s0 - (src1)[i+1]*s1 + (src2)[i]; \
temptype t1 = (src1)[i]*s1 + (src1)[i+1]*s0 + (src2)[i+1]; \
\
(dst)[i] = (arrtype)t0; \
(dst)[i+1] = (arrtype)t1; \
} \
}
#define ICV_DEF_MULADDS_FUNC (   flavor,
  arrtype,
  scalartype,
  entry,
  cn 
)
Value:
static CvStatus CV_STDCALL \
icvMulAddC_##flavor( const arrtype* src1, int srcstep1, \
const arrtype* src2, int srcstep2, \
const scalartype* scalar ) \
{ \
entry(scalartype); \
size.width *= (cn); \
srcstep1 /= sizeof(src1[0]); srcstep2 /= sizeof(src2[0]); \
dststep /= sizeof(dst[0]); \
for( ; size.height--; src1+=srcstep1, src2+=srcstep2, dst+=dststep ) \
{ \
ICV_DEF_MULADDC_CASE_C##cn( arrtype, scalartype, src1, src2, \
dst, size.width ) \
} \
\
return CV_OK; \
}
#define ICV_DEF_MULTRANS_L_FUNC (   flavor,
  srctype,
  dsttype,
  load_macro 
)
#define ICV_DEF_MULTRANS_R_FUNC (   flavor,
  srctype,
  dsttype,
  load_macro 
)
#define ICV_DEF_TRANSFORM_CASE_C1 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
{ \
for( i = 0; i < size.width; i++, dst += dst_cn ) \
{ \
const double* _mat = mat; \
double v0 = _ld_(src[i]); \
for( k = 0; k < dst_cn; k++, _mat += 2 ) \
{ \
temptype t0 = _cast_macro1_(_mat[0]*v0 + _mat[1]); \
dst[k] = _cast_macro2_(t0); \
} \
} \
src += size.width; \
}
#define ICV_DEF_TRANSFORM_CASE_C2 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
if( dst_cn == 2 ) \
{ \
for( i = 0; i < size.width*2; i += 2 ) \
{ \
double ft0, ft1; \
temptype t0, t1; \
ft0 = mat[0]*_ld_(src[i]) + mat[1]*_ld_(src[i+1]) + mat[2]; \
ft1 = mat[3]*_ld_(src[i]) + mat[4]*_ld_(src[i+1]) + mat[5]; \
t0 = _cast_macro1_(ft0); \
t1 = _cast_macro1_(ft1); \
dst[i] = _cast_macro2_(t0); \
dst[i+1] = _cast_macro2_(t1); \
} \
src += size.width*2; dst += size.width*2; \
} \
for( i = 0; i < size.width; i++, src += 2, dst += dst_cn ) \
{ \
const double* _mat = mat; \
double v0 = _ld_(src[0]), v1 = src[1]; \
for( k = 0; k < dst_cn; k++, _mat += 3 ) \
{ \
temptype t0 = \
_cast_macro1_(_mat[0]*v0 + _mat[1]*v1 + _mat[2]); \
dst[k] = _cast_macro2_(t0); \
} \
}
#define ICV_DEF_TRANSFORM_CASE_C3 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
#define ICV_DEF_TRANSFORM_CASE_C4 (   arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_ 
)
Value:
for( i = 0; i < size.width; i++, src += 4, dst += dst_cn ) \
{ \
const double* _mat = mat; \
double v0 = _ld_(src[0]), v1 = _ld_(src[1]), \
v2 = _ld_(src[2]), v3 = _ld_(src[3]); \
for( k = 0; k < dst_cn; k++, _mat += 5 ) \
{ \
temptype t0 =_cast_macro1_(_mat[0]*v0+_mat[1]*v1+ \
_mat[2]*v2+_mat[3]*v3+_mat[4]); \
dst[k] = _cast_macro2_(t0); \
} \
}
#define ICV_DEF_TRANSFORM_FUNC (   flavor,
  arrtype,
  temptype,
  _ld_,
  _cast_macro1_,
  _cast_macro2_,
  cn 
)
Value:
static CvStatus CV_STDCALL \
icvTransform_##flavor( const arrtype* src, int srcstep, \
const double* mat, int dst_cn ) \
{ \
srcstep = srcstep/sizeof(src[0]) - size.width*cn; \
dststep = dststep/sizeof(dst[0]) - size.width*dst_cn; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
int i, k; \
ICV_DEF_TRANSFORM_CASE_C##cn( arrtype, temptype, _ld_, \
_cast_macro1_, _cast_macro2_ ) \
} \
\
return CV_OK; \
}
#define ICV_DOT_PRODUCT_CASE (   flavor,
  srctype,
  avgtype,
  load_macro 
)
Value:
static CvStatus CV_STDCALL \
icvDotProductShifted_##flavor##_C1R( const srctype* vec1, int vecstep1, \
const srctype* vec2, int vecstep2, \
const avgtype* avg, int avgstep, \
CvSize size, double* _result ) \
{ \
double result = 0; \
vecstep1 /= sizeof(vec1[0]); vecstep2 /= sizeof(vec2[0]); avgstep /= sizeof(avg[0]);\
for( ; size.height--; vec1 += vecstep1, vec2 += vecstep2, avg += avgstep ) \
{ \
int x; \
for( x = 0; x <= size.width - 4; x += 4 ) \
result += (load_macro(vec1[x]) - avg[x])*(load_macro(vec2[x]) - avg[x]) + \
(load_macro(vec1[x+1]) - avg[x+1])*(load_macro(vec2[x+1]) - avg[x+1]) + \
(load_macro(vec1[x+2]) - avg[x+2])*(load_macro(vec2[x+2]) - avg[x+2]) + \
(load_macro(vec1[x+3]) - avg[x+3])*(load_macro(vec2[x+3]) - avg[x+3]); \
for( ; x < size.width; x++ ) \
result += (load_macro(vec1[x]) - avg[x])*(load_macro(vec2[x]) - avg[x]); \
} \
\
*_result = result; \
return CV_OK; \
}
#define ICV_EXT_PRODUCT_CASE (   flavor,
  srctype,
  avgtype,
  load_macro 
)
#define ICV_MAHALANOBIS (   flavor,
  arrtype 
)
Value:
static CvStatus CV_STDCALL \
icvMahalanobis_##flavor##_C1R( const arrtype* mat, int matstep, \
const arrtype* vec, int len, double* _result ) \
{ \
int i, j; \
double result = 0; \
\
matstep /= sizeof(mat[0]); \
for( i = 0; i < len; i++, mat += matstep ) \
{ \
double row_sum = 0; \
for( j = 0; j <= len - 4; j += 4 ) \
row_sum += vec[j]*mat[j] + vec[j+1]*mat[j+1] + \
vec[j+2]*mat[j+2] + vec[j+3]*mat[j+3]; \
for( ; j < len; j++ ) \
row_sum += vec[j]*mat[j]; \
result += row_sum * vec[i]; \
} \
*_result = result; \
\
return CV_OK; \
}
#define ICV_PERSPECTIVE_TRANSFORM_FUNC_2 (   flavor,
  arrtype 
)
#define ICV_PERSPECTIVE_TRANSFORM_FUNC_3 (   flavor,
  arrtype 
)
#define icvDiagTransform_8s_C1R   0
#define icvDiagTransform_8s_C2R   0
#define icvDiagTransform_8s_C3R   0
#define icvDiagTransform_8s_C4R   0
#define icvDiagTransform_8u_C1R   0
#define icvDiagTransform_8u_C2R   0
#define icvDiagTransform_8u_C3R   0
#define icvDiagTransform_8u_C4R   0
#define icvDotProduct_8s_C1R   0
#define icvTransform_8s_C1R   0
#define icvTransform_8s_C2R   0
#define icvTransform_8s_C3R   0
#define icvTransform_8s_C4R   0

Typedef Documentation

typedef CvStatus(CV_STDCALL * CvColorTwistIPPFunc)(const void *src, int srcstep, void *dst, int dststep, CvSize size, const float *coeffs)
typedef CvStatus(CV_STDCALL * CvDiagTransformFunc)(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *mat)
typedef CvStatus(CV_STDCALL * CvGEMMBlockMulFunc)(const void *src1, size_t step1, const void *src2, size_t step2, void *dst, size_t dststep, CvSize srcsize, CvSize dstsize, int flags)
typedef CvStatus(CV_STDCALL * CvGEMMSingleMulFunc)(const void *src1, size_t step1, const void *src2, size_t step2, const void *src3, size_t step3, void *dst, size_t dststep, CvSize srcsize, CvSize dstsize, double alpha, double beta, int flags)
typedef CvStatus(CV_STDCALL * CvGEMMStoreFunc)(const void *src1, size_t step1, const void *src2, size_t step2, void *dst, size_t dststep, CvSize dstsize, double alpha, double beta, int flags)
typedef CvStatus(CV_STDCALL * CvMahalanobisFunc)(const void *mat, int matstep, const void *vec, int len, double *_result)
typedef CvStatus(CV_STDCALL * CvTransformFunc)(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *mat, int dst_cn)
typedef int void int const void* delta
typedef int void int const void int CvSize int delta_cols
typedef int void int const void int deltastep
typedef int void* dst
typedef int void int dststep
typedef int void int const void int CvSize int double scale
typedef int void int const void int CvSize size
typedef int srcstep
typedef struct vec_data vec_data

Function Documentation

CV_IMPL void cvCalcCovarMatrix ( const CvArr **  vecarr,
int  count,
CvArr covarr,
CvArr avgarr,
int  flags 
)
CV_IMPL double cvDotProduct ( const CvArr srcAarr,
const CvArr srcBarr 
)
CV_IMPL void cvGEMM ( const CvArr Aarr,
const CvArr Barr,
double  alpha,
const CvArr Carr,
double  beta,
CvArr Darr,
int  flags 
)
CV_IMPL double cvMahalanobis ( const CvArr srcAarr,
const CvArr srcBarr,
CvArr matarr 
)
CV_IMPL void cvMulTransposed ( const CvArr srcarr,
CvArr dstarr,
int  order,
const CvArr deltaarr,
double  scale 
)
CV_IMPL void cvPerspectiveTransform ( const CvArr srcarr,
CvArr dstarr,
const CvMat mat 
)
CV_IMPL void cvScaleAdd ( const CvArr srcarr1,
CvScalar  scale,
const CvArr srcarr2,
CvArr dstarr 
)
typedef CvStatus ( CV_STDCALL CvMulTransposedFunc) const
CV_IMPL void cvTransform ( const CvArr srcarr,
CvArr dstarr,
const CvMat transmat,
const CvMat shiftvec 
)

Variable Documentation

icvBLAS_GEMM_32f_t icvBLAS_GEMM_32f_p = 0
icvBLAS_GEMM_32fc_t icvBLAS_GEMM_32fc_p = 0
icvBLAS_GEMM_64f_t icvBLAS_GEMM_64f_p = 0
icvBLAS_GEMM_64fc_t icvBLAS_GEMM_64fc_p = 0
icvColorToGray_16s_AC4C1R_t icvColorToGray_16s_AC4C1R_p = 0
icvColorToGray_16s_C3C1R_t icvColorToGray_16s_C3C1R_p = 0
icvColorToGray_16u_AC4C1R_t icvColorToGray_16u_AC4C1R_p = 0
icvColorToGray_16u_C3C1R_t icvColorToGray_16u_C3C1R_p = 0
icvColorToGray_32f_AC4C1R_t icvColorToGray_32f_AC4C1R_p = 0
icvColorToGray_32f_C3C1R_t icvColorToGray_32f_C3C1R_p = 0
icvColorToGray_8u_AC4C1R_t icvColorToGray_8u_AC4C1R_p = 0
icvColorToGray_8u_C3C1R_t icvColorToGray_8u_C3C1R_p = 0
icvColorTwist_16s_C3R_t icvColorTwist_16s_C3R_p = 0
icvColorTwist_16u_C3R_t icvColorTwist_16u_C3R_p = 0
icvColorTwist_32f_C3R_t icvColorTwist_32f_C3R_p = 0
icvColorTwist_32f_C4R_t icvColorTwist_32f_C4R_p = 0
icvColorTwist_8u_C3R_t icvColorTwist_8u_C3R_p = 0