📄 jmatrixmathgen.h
字号:
// JMatrixMathGen
//
//
// general matrix functions
//
//
// convention :
//
// R : the result matrix
//
// A : a operand matrix
// B : a operand matrix
// S : a scaler
//
// N : row
// M : column
//
// the matrix dimension is N by M, row first stored
//
// when a matrix operates whit a scaler, each element of
// this matrix operates with this scaler.
//
//
#pragma once
#include <math.h>
inline void JMatrixMatMul( double * R, const double * A, const double * B, int NR, int MR, int L )
{
//
// R = A * B
//
// R : N by M
// A : N by L
// B : L by M
//
int i, j, k, ki, kj, kk ;
for ( kj=ki=i=0 ; i<NR ; kj+=L, ki+=MR, i++ )
{
for ( j=0 ; j<MR ; j++ )
{
R[ ki + j ] = 0 ;
for ( kk=j, k=0 ; k<L ; kk+=MR, k++ ) R[ ki + j ] += A[ kj + k ] * B[ kk ] ;
}
}
}
inline void JMatrixMatTranspose( double * R, const double * A, int NR, int MR )
{
//
// R = A^T
//
// dim(R) : NR by MR
// dim(A) : MR by NR
int i, j, ki, kj ;
for ( ki=i=0 ; i<NR ; ki+=MR, i++ )
{
for ( kj=i, j=0 ; j<MR ; kj+=NR, j++ ) R[ ki + j ] = A[ kj ] ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -