summaryrefslogtreecommitdiff
path: root/gsl-1.9/cdf/rat_eval.h
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/cdf/rat_eval.h')
-rw-r--r--gsl-1.9/cdf/rat_eval.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/gsl-1.9/cdf/rat_eval.h b/gsl-1.9/cdf/rat_eval.h
new file mode 100644
index 0000000..5e6fc19
--- /dev/null
+++ b/gsl-1.9/cdf/rat_eval.h
@@ -0,0 +1,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;
+}