Files
2025-09-12 18:55:25 +09:00

23 lines
366 B
C

#include <math.h>
float evlmem(fdt,d,m,xms)
float d[],fdt,xms;
int m;
{
int i;
float sumr=1.0,sumi=0.0;
double wr=1.0,wi=0.0,wpr,wpi,wtemp,theta;
theta=6.28318530717959*fdt;
wpr=cos(theta);
wpi=sin(theta);
for (i=1;i<=m;i++) {
wr=(wtemp=wr)*wpr-wi*wpi;
wi=wi*wpr+wtemp*wpi;
sumr -= d[i]*wr;
sumi -= d[i]*wi;
}
return xms/(sumr*sumr+sumi*sumi);
}