📄 yglu.h
字号:
/* xcpivot.h freeware xhunga@tiscali.fr */
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
void LU_mzF(
PmzF m,
PmzF mL,
PmzF mU
)
{
complexF pivot;
complexF underpivot;
int rowpivot;
int rowunder;
int col;
m0_mzF( mL);
copy_mzF(m,mU);
for( rowpivot=0, col=0; rowpivot<(mU->rows); rowpivot++, col=col+C4)
{
pivot.r.n = *(mU->pb+rowpivot *mU->cols+col+0);
pivot.r.d = *(mU->pb+rowpivot *mU->cols+col+1);
pivot.i.n = *(mU->pb+rowpivot *mU->cols+col+2);
pivot.i.d = *(mU->pb+rowpivot *mU->cols+col+3);
pivot = inv_zF(pivot);
*(mL->pb+rowpivot *mL->cols+col+0)=*(mU->pb+rowpivot *mU->cols+col+0);
*(mL->pb+rowpivot *mL->cols+col+1)=*(mU->pb+rowpivot *mU->cols+col+1);
*(mL->pb+rowpivot *mL->cols+col+2)=*(mU->pb+rowpivot *mU->cols+col+2);
*(mL->pb+rowpivot *mL->cols+col+3)=*(mU->pb+rowpivot *mU->cols+col+3);
mulrow_mzF(mU,rowpivot,pivot);
for(rowunder = rowpivot+1; rowunder<mU->rows; rowunder++ )
{
*(mL->pb+rowunder *mL->cols+col+0)= *(mU->pb+rowunder *mU->cols+col+0);
*(mL->pb+rowunder *mL->cols+col+1)= *(mU->pb+rowunder *mU->cols+col+1);
*(mL->pb+rowunder *mL->cols+col+2)= *(mU->pb+rowunder *mU->cols+col+2);
*(mL->pb+rowunder *mL->cols+col+3)= *(mU->pb+rowunder *mU->cols+col+3);
underpivot.r.n = -(*(mU->pb+rowunder *mU->cols+col+0));
underpivot.r.d = *(mU->pb+rowunder *mU->cols+col+1);
underpivot.i.n = -(*(mU->pb+rowunder *mU->cols+col+2));
underpivot.i.d = *(mU->pb+rowunder *mU->cols+col+3);
addrow_mzF(mU,underpivot,rowpivot,rowunder);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -