A piecewise cubic Hermite interpolant, as computed by
e01bec, is evaluated at the points
, for
. If any point lies outside the interval from
to
, a value is extrapolated from the nearest extreme cubic, and a warning is returned.
The algorithm is derived from routine PCHFE in
Fritsch (1982).
The computational errors in the array
pf should be negligible in most practical situations.
Background information to multithreading can be found in the
Multithreading documentation.
The time taken by
e01bfc is approximately proportional to the number of evaluation points,
. The evaluation will be most efficient if the elements of
px are in nondecreasing order (or, more generally, if they are grouped in increasing order of the intervals
). A single call of
e01bfc with
is more efficient than several calls with
.
This example program reads in values of
n,
x,
f,
d and
m, and then calls
e01bfc to evaluate the interpolant at equally spaced points.