Skip to content

Releases: jlogan03/interpn

v0.4.3

21 Aug 01:32
f172183
Compare
Choose a tag to compare

Added

  • Implement interpn_alloc function for each method, which allocates a Vec for the output
  • Add test of linear methods using hat function to check grid cell alignment

Changed

  • Use recursive method to evaluate multilinear interpolation instead of hypercube method
    • This makes extrapolation cost consistent with interpolation cost, and reduces nominal perf scaling
    • Shows about 2x slower perf in micro-benchmarks, but about 2x faster in end-to-end benchmarks after the Python bindings
      • Need to improve benchmarking strategy to better capture perf in real-life usage
  • Reduce repeated documentation
  • Remove some inlining annotations and all instances of #[inline(always)]
    • Minimal effect on performance; provides more flexibility to downstream applications, especially opt-level=s builds

v0.4.2

12 Mar 12:46
c0ad22d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.4.1...v0.4.2

v0.4.1

06 Mar 23:05
df5fbb8
Compare
Choose a tag to compare

Changes

  • Fix grid cell index selection to properly center the grid cell s.t. t=0 corresponds to index 1
  • Add test of cubic method against sine function to capture potential problems not visible when testing against linear and quadratic functions

v0.4.0

06 Mar 02:03
06cd813
Compare
Choose a tag to compare

Changes

  • Implement cubic interpolation for regular grid
    • Continuous first derivative everywhere
    • Option to clamp to linear extrapolation to prevent unwanted extrapolation of local curvature
      • Test linearized method against linear function in both interpolation and extrapolation
      • Test un-linearized method against quadratic function in both interpolation and extrapolation

v0.3.0

18 Dec 02:04
0fb81e8
Compare
Choose a tag to compare

Changes

  • Remove initial guess for cell index from rectilinear method
  • Collapse some loops
  • Remove support for negative step sizes for regular grid in favor of reducing number of abs() calls
  • Remove some saturating sub calls that are not needed now that degenerate grids are not supported
  • Get indexing dimension product in the same way for rectilinear method as for regular grid method
  • Use better initial value for folds
  • Update docs
  • Use optimizations for tests because it's faster overall

v0.2.0

07 Dec 01:17
ba4f0c9
Compare
Choose a tag to compare

Changes

  • Propagate Result everywhere that unwrap or assert! was being used

v0.1.0

22 Nov 04:58
2c359e9
Compare
Choose a tag to compare
Add release machinery (#2)