BUG: interpolate/ndbspline: fix OOB access for len(tx) != len(ty) in tensor product splines #19581
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To be able to release the GIL, we pack the tuple of 1D knot arrays into a 2D array. Since the lengths of knot arrays for different dimensions may differ, the 2D array has dimensions (ndim, max_length), with extra elements filled with NaNs.
The actual lengths of knot arrays need to be known to the interval search routine, which finds for a given
x
, the indexi
such thatt[i] <= x < x[i+1]
. Otherwise these extra nans confuse the interval search routine, leading to OOB access down the line.