Files
2025-02-Numerical/lib/nr/k_and_r/recipes/fgauss.c
2025-09-12 18:55:25 +09:00

22 lines
299 B
C

#include <math.h>
void fgauss(x,a,y,dyda,na)
float *y,a[],dyda[],x;
int na;
{
int i;
float fac,ex,arg;
*y=0.0;
for (i=1;i<=na-1;i+=3) {
arg=(x-a[i+1])/a[i+2];
ex=exp(-arg*arg);
fac=a[i]*ex*2.0*arg;
*y += a[i]*ex;
dyda[i]=ex;
dyda[i+1]=fac/a[i+2];
dyda[i+2]=fac*arg/a[i+2];
}
}