Provide replacement for gsl_bspline_eval_nonzero
Description
This function was replaced with gsl_bspline_basis
in GSL 2.8.
Compare the documentation from GSL 2.8:
int gsl_bspline_basis(const double x, gsl_vector *B, size_t *istart, gsl_bspline_workspace *w)
This function evaluates all potentially nonzero B-spline basis functions at the position x and stores them in the vector B of length k, so that the i-th element is B_{(istart+i)}(x) for i=0,1,\dots,k-1. The output istart is guaranteed to be in [0, n - k]. By returning only the nonzero basis functions, this function allows quantities involving linear combinations of the B_i(x) to be computed without unnecessary terms (such linear combinations occur, for example, when evaluating an interpolated function).
versus the documentation from GSL 2.7:
int gsl_bspline_eval_nonzero(const double x, gsl_vector *Bk, size_t *istart, size_t *iend, gsl_bspline_workspace *w)
This function evaluates all potentially nonzero B-spline basis functions at the position x and stores them in the vector Bk, so that the i-th element is B_{(istart+i)}(x). The last element of Bk is B_{iend}(x). The vector Bk must be of length k. By returning only the nonzero basis functions, this function allows quantities involving linear combinations of the B_i(x) to be computed without unnecessary terms (such linear combinations occur, for example, when evaluating an interpolated function).
The only difference is the removal of the iend
argument.
Fixes #742 (closed). Fixes !2294 (closed).
API Changes and Justification
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module
If any of the Backwards Incompatible check boxes are ticked please provide a justification why this change is necessary and why it needs to be done in a backwards incompatible way.
Review Status
Please provide details on any reviews related to this change and and the associated reviewers.