summaryrefslogtreecommitdiff
path: root/gsl-1.9/cdf/rat_eval.h
blob: 5e6fc199051de777d02de120a54cd9381997978d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
static double
rat_eval (const double a[], const size_t na,
          const double b[], const size_t nb, const double x)
{
  size_t i, j;
  double u, v, r;

  u = a[na - 1];

  for (i = na - 1; i > 0; i--)
    {
      u = x * u + a[i - 1];
    }

  v = b[nb - 1];

  for (j = nb - 1; j > 0; j--)
    {
      v = x * v + b[j - 1];
    }

  r = u / v;

  return r;
}