Skip to content

SPLINES - REFACTOR - BicubicSpline evaluation via FastInterpolations ND API#146

Merged
logan-nc merged 1 commit intospline_migration_FastInterpolationsfrom
refac/2d_cubic_FastInterpolations
Feb 8, 2026
Merged

SPLINES - REFACTOR - BicubicSpline evaluation via FastInterpolations ND API#146
logan-nc merged 1 commit intospline_migration_FastInterpolationsfrom
refac/2d_cubic_FastInterpolations

Conversation

@mgyoo86
Copy link
Collaborator

@mgyoo86 mgyoo86 commented Feb 7, 2026

@logan-nc
FastInterpolations.jl v0.2.8 is released and now it provides the generic ND cubic spline APIs.
This is a small refactoring PR (using the new API) into your PR (spline_migration_FastInterpolations) to avoid unintentional conflicts, while you're working on it.

Summary

  • Replace bicubic construction/evalution parts in BicubicSpline.jl with the new CubicInterpolantND API from FastInterpolations.jl (requires >=v0.2.8)
  • Public API unchanged — evaluate!, deriv1!, deriv2! now delegate to itp(query; deriv=...)
  • <0.03% numerical diff confirmed
  • Not fully performance-optimized yet; correctness-focused refactoring as a stepping stone toward more performant FastInterpolations ND APIs (e.g. gradient!, hessian!, hint-based search)

Changes

  • Add itps::Vector{CubicInterpolantND} field, remove periodic_x/y, _last_ix/iy
  • Remove _fill_derivatives_impl! (4 BC variants), _bicube_getco!, _find_interval, _bicubic_wrap_periodic, _make_extrap_bc
  • Extract fsx/fsy/fsxy from nodal_derivs.partials
  • Bump FastInterpolations compat to >=0.2.8

@mgyoo86 mgyoo86 requested a review from logan-nc February 7, 2026 23:03
@logan-nc logan-nc force-pushed the spline_migration_FastInterpolations branch from ebe413d to a7f1c60 Compare February 7, 2026 23:24
@logan-nc logan-nc merged commit 7172179 into spline_migration_FastInterpolations Feb 8, 2026
1 check failed
@logan-nc logan-nc deleted the refac/2d_cubic_FastInterpolations branch February 8, 2026 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants