|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
简化过好几次,虽然结果正确,但对原始代码,还是没有彻底理解。
#define MULT_MAT(a,b,c,rowsa,colsa,colsb,typea,typeb,typec) { \
typea **_AMX = (typea **)a->ptr; \
typeb **_BMX = (typeb **)b->ptr; \
typec **_CMX = (typec **)c->ptr; \
typea *_PTA; \
typeb *_PTB; \
typec *_PTC; \
int _IX,_JX,_KX; \
for(_IX = 0 ; _IX < rowsa ; _IX++) { \
_PTC = _CMX[_IX]; \
_PTB = _BMX[0]; \
for(_JX = 0 ; _JX < colsb ; _JX++) { \
_PTA = _AMX[_IX]; \
*_PTC = (*_PTA++) * (*_PTB++); \
for(_KX = 1 ; _KX < colsa ; _KX++) \
*_PTC += (*_PTA++)* _BMX[_KX][_JX]; \
_PTC++; \
} \
} \
}
|
|