I have a Spline (interpolation) type:
type
Spline*[T] = ref object
x: seq[float]
coeffs: seq[tuple[float, float, T, T]]
Run
And I can evaluate it at a point t using:
eval*[T](spline: Spline[T], t: float): T
Run
What I would like to do, is to create a proc for a specific spline so that I
can call it without having to supply the Spline. Something like this:
var spline = newSpline(x, y)
# Current way to evaluate it:
echo spline.eval(2.5)
# How I would like it:
var f = Spline2Proc(spline) # this is just a placeholder for the magic I
want.
echo f(2.5)
Run
The reason for this is that I want to be able to pass a Spline as a proc to for
example a proc that does numerical integration of a function.
Is this possible to do in Nim (without too much troubles)?