add numerical recipes library
This commit is contained in:
23
lib/nr/k_and_r/recipes/zbrak.c
Normal file
23
lib/nr/k_and_r/recipes/zbrak.c
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
void zbrak(fx,x1,x2,n,xb1,xb2,nb)
|
||||
float (*fx)(),x1,x2,xb1[],xb2[];
|
||||
int *nb,n;
|
||||
{
|
||||
int nbb,i;
|
||||
float x,fp,fc,dx;
|
||||
|
||||
nbb=0;
|
||||
dx=(x2-x1)/n;
|
||||
fp=(*fx)(x=x1);
|
||||
for (i=1;i<=n;i++) {
|
||||
fc=(*fx)(x += dx);
|
||||
if (fc*fp <= 0.0) {
|
||||
xb1[++nbb]=x-dx;
|
||||
xb2[nbb]=x;
|
||||
if(*nb == nbb) return;
|
||||
|
||||
}
|
||||
fp=fc;
|
||||
}
|
||||
*nb = nbb;
|
||||
}
|
||||
Reference in New Issue
Block a user