dswap.c

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

C
56
字号
#include "gmx_blas.h"voidF77_FUNC(dswap,DSWAP)(int *n__,                      double *dx,                      int *incx__,                      double *dy,                      int *incy__){  int i,ix,iy;  double d1,d2,d3;  int n = *n__;  int incx = *incx__;  int incy = *incy__;    if(n<=0)    return;  if(incx==1 && incy==1) {    for(i=0;i<(n-3);i+=3) {      d1      = dx[i];      d2      = dx[i+1];      d3      = dx[i+2];      dx[i]   = dy[i];      dx[i+1] = dy[i+1];      dx[i+2] = dy[i+2];      dy[i]   = d1;      dy[i+1] = d2;      dy[i+2] = d3;    }    /* continue with last i value */    for(;i<n;i++) {      d1      = dx[i];      dx[i]   = dy[i];      dy[i]   = d1;    }  } else {    ix = 0;    iy = 0;    if(incx<0)      ix = incx * (1 - n);    if(incy<0)      iy = incy * (1 - n);    for(i=0;i<n;i++,ix+=incx,iy+=incy) {      d1     = dx[ix];      dx[ix] = dy[iy];      dy[iy] = d1;    }  }  return;} 

⌨️ 快捷键说明

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