xcelrop.h
来自「基本矩阵运算 : + - *, power, transpose, trace,」· C头文件 代码 · 共 84 行
H
84 行
/* xcelrop.h freeware xhunga@tiscali.fr */
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : swap two rows in a matrix */
/* */
/* -------------------------------------------------------------------------- */
void swaprow_mF(
PmF m,
int row1,
int row2)
{
int j;
double t;
for ( j=0 ; j<m->cols ; j++)
{
t = *(m->pb+row1 *m->cols+j);
*(m->pb+row1 *m->cols+j ) = *(m->pb+row2 *m->cols+j);
*(m->pb+row2 *m->cols+j ) = t;
}
}
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : returns a copy of the matrix m in which row is muliply by scalar */
/* */
/* -------------------------------------------------------------------------- */
void mulrow_mF(
PmF m,
int rown,
fraction f
)
{
int j;
fraction fA;
for( j=0 ; j<m->cols ; j++,j++)
{
fA.n = *(m->pb+rown *m->cols+j );
fA.d = *(m->pb+rown *m->cols+j+1);
fA = mul_F(fA,f);
*(m->pb+rown *m->cols+j ) = fA.n;
*(m->pb+rown *m->cols+j+1) = fA.d;
}
}
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : returns a copy of the matrix m in which row r2 is */
/* replaced by (s*r1+r2) */
/* -------------------------------------------------------------------------- */
void addrow_mF(
PmF m,
fraction f,
int row1,
int row2
)
{
int j;
fraction fr1;
fraction fr2;
for ( j = 0 ; j < m->cols ; j++,j++ )
{
fr1.n = *(m->pb+row1 *m->cols+j );
fr1.d = *(m->pb+row1 *m->cols+j+1);
fr2.n = *(m->pb+row2 *m->cols+j );
fr2.d = *(m->pb+row2 *m->cols+j+1);
fr2 = add_F(fr2,mul_F(f,fr1));
*(m->pb+row2 *m->cols+j ) = fr2.n;
*(m->pb+row2 *m->cols+j+1) = fr2.d;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?