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

20 lines
292 B
C

void rebin(rc,nd,r,xin,xi)
float r[],rc,xi[],xin[];
int nd;
{
int i,k=0;
float dr=0.0,xn=0.0,xo=0.0;
for (i=1;i<nd;i++) {
while (rc > dr)
dr += r[++k];
if (k > 1) xo=xi[k-1];
xn=xi[k];
dr -= rc;
xin[i]=xn-(xn-xo)*dr/r[k];
}
for (i=1;i<nd;i++) xi[i]=xin[i];
xi[nd]=1.0;
}