# Documentation

The I-Spline basis functions are the integrals of the M-splines, or alternatively the integrals of the B-splines normalized to the range [0,1]. Every I-spline basis function increases monotonically from 0 to 1, thus it is useful as a basis for monotone functions. An I-Spline curve is monotone if and only if every non-zero control point has the same sign.

iSpline :: Knots (Scalar a) -> [a] -> ISpline aSource

`iSpline kts cps`

creates an I-spline with the given knot vector and control
points. The degree is automatically inferred as the difference between the
number of spans in the knot vector (`numKnots kts - 1`

) and the number of
control points (`length cps`

).

evalSpline :: Spline s v => s v -> Scalar v -> vSource