triinv.c

来自「speech signal process tools」· C语言 代码 · 共 33 行

C
33
字号
triinv(T,Tinv,n)	/* T and Tinv upper triangular */		/* 0 normal return, 1 T singular */register int n;register double *T,*Tinv;{	register int i,j,k,iT,kT;	register double sum,dtemp,*sT,*sTinv;	j=n+1;	for(i=0,sT=T,sTinv=Tinv;i<n;i++,sT+=j,sTinv+=j)		{		if(!*sT)return(1);		*sTinv=1/(*sT);		}	for(j=n-1;j>=0;j--)		{		for(i=j-1,iT=(j-1)*n;i>=0;i--,iT-=n)			{			sum=0;			for(k=i+1,kT=(i+1)*n;k<j+1;k++,kT+=n)				sum+=T[iT+k]*Tinv[kT+j];			dtemp= -sum*Tinv[iT+i];			Tinv[iT+j]=dtemp;			}		}	for(i=0;i<n;i++,Tinv+=n)/* clear lower triangle */		{		for(j=0,sT=Tinv;j<i;j++,sT++)			*sT=0;		}	return(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?