这2天用c语言写了一个矩阵 的基本运算库函数,代码只有几百行,也就是只有
extern CMat *CreateMat(uint cols,uint rows,MAT_DATA_TYPE type, void *data);
extern CMat *SetMatData(CMat* mat , void *data);
extern void *RealseMat(CMat* mat);
extern double GetData2D(CMat* mat,uint cols,uint rows);
extern double SetData2D(CMat* mat,uint cols,uint rows,double val,MAT_DATA_TYPE type);
extern void PrintMat(CMat* mat);
extern CMat *ReshapeMat(CMat *mat,uint rows,uint cols);
extern CMat *AddMat(CMat *mat ,CMat *mat1,CMat *mat2);
extern CMat *SubMat(CMat *mat ,CMat *mat1,CMat *mat2);
extern CMat *MulMat(CMat *mat ,CMat *mat1,CMat *mat2);
//
//下面是一些内部函数
extern void* DataTypeTo(void *data,MAT_DATA_TYPE type);//>>>
extern uchar mSizeOf(MAT_DATA_TYPE type);
extern uchar *mGetAddr(CMat *mat , uint x ,uint y);
extern double mGetRealDa
extern CMat *CreateMat(uint cols,uint rows,MAT_DATA_TYPE type, void *data);
extern CMat *SetMatData(CMat* mat , void *data);
extern void *RealseMat(CMat* mat);
extern double GetData2D(CMat* mat,uint cols,uint rows);
extern double SetData2D(CMat* mat,uint cols,uint rows,double val,MAT_DATA_TYPE type);
extern void PrintMat(CMat* mat);
extern CMat *ReshapeMat(CMat *mat,uint rows,uint cols);
extern CMat *AddMat(CMat *mat ,CMat *mat1,CMat *mat2);
extern CMat *SubMat(CMat *mat ,CMat *mat1,CMat *mat2);
extern CMat *MulMat(CMat *mat ,CMat *mat1,CMat *mat2);
//
//下面是一些内部函数
extern void* DataTypeTo(void *data,MAT_DATA_TYPE type);//>>>
extern uchar mSizeOf(MAT_DATA_TYPE type);
extern uchar *mGetAddr(CMat *mat , uint x ,uint y);
extern double mGetRealDa