18 lines
320 B
C++
18 lines
320 B
C++
#include "nr.h"
|
|
|
|
DP NR::chebev(const DP a, const DP b, Vec_I_DP &c, const int m, const DP x)
|
|
{
|
|
DP d=0.0,dd=0.0,sv,y,y2;
|
|
int j;
|
|
|
|
if ((x-a)*(x-b) > 0.0)
|
|
nrerror("x not in range in routine chebev");
|
|
y2=2.0*(y=(2.0*x-a-b)/(b-a));
|
|
for (j=m-1;j>0;j--) {
|
|
sv=d;
|
|
d=y2*d-dd+c[j];
|
|
dd=sv;
|
|
}
|
|
return y*d-dd+0.5*c[0];
|
|
}
|