slassq.c

来自「最著名最快的分子模拟软件」· C语言 代码 · 共 33 行

C
33
字号
#include <math.h>#include <types/simple.h>#include "gmx_lapack.h"voidF77_FUNC(slassq,SLASSQ)(int *n,                        float *x,                        int *incx,                        float *scale,                        float *sumsq){  int ix;  float absxi,t;  if(*n>0) {    for(ix=0;ix<=(*n-1)*(*incx);ix+=*incx) {      if(fabs(x[ix])>GMX_FLOAT_MIN) {	absxi = fabs(x[ix]);	if(*scale<absxi) {	  t = *scale/absxi;	  t = t*t;	  *sumsq = 1.0 + (*sumsq)*t;	  *scale = absxi;	} else {	  t = absxi/(*scale);	  *sumsq += t*t;	}      }    }  }  return;}

⌨️ 快捷键说明

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