⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dgetf2.c

📁 最著名最快的分子模拟软件
💻 C
字号:
#include <math.h>#include <types/simple.h>#include "gmx_blas.h"#include "gmx_lapack.h"voidF77_FUNC(dgetf2,DGETF2)(int *m,	int *n,	double *a,	int *lda,	int *ipiv,	int *info){  int j,jp,k,t1,t2,t3;  double one,minusone;  double tmp;  one = 1.0;  minusone = -1.0;  if(*m<=0 || *n<=0)    return;  k = (*m < *n) ? *m : *n;  for(j=1;j<=k;j++) {    t1 = *m-j+1;    t2 = 1;    jp = j - 1 + F77_FUNC(idamax,IDAMAX)(&t1,&(a[(j-1)*(*lda)+(j-1)]),&t2);    ipiv[j-1] = jp;    if( fabs(a[(j-1)*(*lda)+(jp-1)])>GMX_DOUBLE_MIN ) {      if(jp != j)	F77_FUNC(dswap,DSWAP)(n,&(a[ j-1 ]),lda,&(a[ jp-1 ]),lda);            if(j<*m) {	t1 = *m-j;	t2 = 1;	tmp = 1.0/a[(j-1)*(*lda)+(j-1)];	F77_FUNC(dscal,DSCAL)(&t1,&tmp,&(a[(j-1)*(*lda)+(j)]),&t2);      }    } else {      *info = j;    }    if(j<k) {      t1 = *m-j;      t2 = *n-j;      t3 = 1;      F77_FUNC(dger,DGER)(&t1,&t2,&minusone,&(a[(j-1)*(*lda)+(j)]),&t3,	    &(a[(j)*(*lda)+(j-1)]),lda, &(a[(j)*(*lda)+(j)]),lda);    }  }  return;}

⌨️ 快捷键说明

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