slange.c
来自「最著名最快的分子模拟软件」· C语言 代码 · 共 72 行
C
72 行
#include<math.h>#include<ctype.h>#include "gmx_lapack.h"floatF77_FUNC(slange,SLANGE)(char *norm, int *m, int *n, float *a, int *lda, float *work){ char ch=toupper(*norm); float dtemp,sum,max,val,scale; int i,j; switch(ch) { case 'M': max = 0.0; for(j=0;j<*n;j++) for(i=0;i<*m;i++) { dtemp = fabs(a[j*(*lda)+i]); if(dtemp>max) max = dtemp; } val = max; break; case 'O': case '1': max = 0.0; for(j=0;j<*n;j++) { sum = 0.0; for(i=0;i<*m;i++) sum += fabs(a[j*(*lda)+i]); if(sum>max) max = sum; } val = max; break; case 'I': for(i=0;i<*m;i++) work[i] = 0.0; for(j=0;j<*n;j++) for(i=0;i<*m;i++) work[i] += fabs(a[j*(*lda)+i]); max = 0; for(i=0;i<*m;i++) if(work[i]>max) max=work[i]; val = max; break; case 'F': case 'E': scale = 0.0; sum = 1.0; i = 1; for(j=0;j<*n;j++) F77_FUNC(slassq,SLASSQ)(m,&(a[j*(*lda)+0]),&i,&scale,&sum); val = scale*sqrt(sum); break; default: val = 0.0; break; } return val;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?