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

📄 slanst.c

📁 最著名最快的分子模拟软件
💻 C
字号:
#include <math.h>#include <ctype.h>#include "gmx_lapack.h"floatF77_FUNC(slanst,SLANST)(char *norm,	int *n,	float *d,	float *e){  char ch=toupper(*norm);  float dtemp,max,val,scale,sum;  int i,j;  if(*n<=0)    return 0.0;    switch(ch) {  case 'M':    max = fabs(d[*n-1]);      for(i=0;i<(*n-1);i++) {	dtemp = fabs(d[i]);	if(dtemp>max)	  max = dtemp;	dtemp = fabs(e[i]);	if(dtemp>max)	  max = dtemp;      }    val = max;    break;      case 'O':  case '1':  case 'I':    if(*n==1)      val = fabs(d[0]);    else {      max = fabs(d[0]) + fabs(e[0]);      dtemp = fabs(e[*n-2]) + fabs(d[*n-1]);      if(dtemp>max)	max = dtemp;      for(i=1;i<(*n-1);i++) {	dtemp = fabs(d[i]) + fabs(e[i]) + fabs(e[i-1]);	if(dtemp>max)	  max = dtemp;      }      val = max;    }    break;  case 'F':  case 'E':    scale = 0.0;    sum   = 1.0;    i = *n-1;    j = 1;    if(*n>1) {      F77_FUNC(slassq,SLASSQ)(&i,e,&j,&scale,&sum);      sum *= 2;    }    F77_FUNC(slassq,SLASSQ)(n,d,&j,&scale,&sum);    val = scale * sqrt(sum);    break;      default:    val = 0.0;    break;  }  return val;}

⌨️ 快捷键说明

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