Skip to content

Implement cubic Hermite interpolation with error handling#26

Merged
VPRamon merged 6 commits into
mainfrom
impl-interpolation
Jun 16, 2026
Merged

Implement cubic Hermite interpolation with error handling#26
VPRamon merged 6 commits into
mainfrom
impl-interpolation

Conversation

@VPRamon

@VPRamon VPRamon commented Jun 16, 2026

Copy link
Copy Markdown
Member
  • Added InterpolationError enum to represent various errors in interpolation routines.
  • Introduced linear interpolation functionality in linear.rs with error checks for finite values, duplicate abscissae, and out-of-range queries.
  • Created QuantityHermiteInterpolable trait for handling cubic Hermite interpolation over typed quantities in quantity.rs.
  • Implemented cubic Hermite interpolation logic in CubicHermiteQuantityTable and related structures.
  • Added scalar interpolation primitives in scalar.rs, including cubic Hermite segment evaluation.
  • Defined HermiteInterpolable trait for combining complete typed values in traits.rs.
  • Updated lib.rs to expose new interpolation functionalities.
  • Created comprehensive tests for interpolation functionalities, covering various scenarios including cubic polynomial reproduction, exact node evaluation, and error handling for out-of-range and duplicate abscissae.

- Added `InterpolationError` enum to represent various errors in interpolation routines.
- Introduced linear interpolation functionality in `linear.rs` with error checks for finite values, duplicate abscissae, and out-of-range queries.
- Created `QuantityHermiteInterpolable` trait for handling cubic Hermite interpolation over typed quantities in `quantity.rs`.
- Implemented cubic Hermite interpolation logic in `CubicHermiteQuantityTable` and related structures.
- Added scalar interpolation primitives in `scalar.rs`, including cubic Hermite segment evaluation.
- Defined `HermiteInterpolable` trait for combining complete typed values in `traits.rs`.
- Updated `lib.rs` to expose new interpolation functionalities.
- Created comprehensive tests for interpolation functionalities, covering various scenarios including cubic polynomial reproduction, exact node evaluation, and error handling for out-of-range and duplicate abscissae.
@VPRamon VPRamon self-assigned this Jun 16, 2026
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Complexity Health
src.ops 98% 0
src.cartesian 98% 0
src.interpolation 62% 0
src.planar 100% 0
src.spherical 96% 0
src 85% 0
src.conic 86% 0
src.ellipsoidal 85% 0
src.frames 95% 0
Summary 91% (5212 / 5719) 0

VPRamon added 5 commits June 16, 2026 20:56
…nhance traits

- Removed `quantity.rs` and its associated types and traits for quantity-based cubic Hermite interpolation.
- Updated `interpolation/mod.rs` to reflect the removal of quantity-related modules and restructured public exports.
- Enhanced `traits.rs` to introduce `HermiteBasis` for better handling of cubic Hermite interpolation across different abscissas.
- Modified `HermiteInterpolable` trait to work with the new `HermiteBasis` structure.
- Updated implementations for `f64`, `Quantity<U>`, `Vector<F, U>`, and `Position<C, F, U>` to align with the new trait definitions.
- Adjusted tests to remove references to quantity-based interpolation and ensure compatibility with the updated cubic Hermite table structure.
…d structures, update cubic Hermite references
- Introduced `AbscissaDelta` trait for scaling and diagnostics of abscissae.
- Updated `InterpolationAbscissa` to use `AbscissaDelta` for delta calculations.
- Enhanced error handling in `InterpolationError` to provide raw diagnostic values for out-of-range queries.
- Refactored cubic Hermite interpolation to utilize typed `qtty::Quantity` for abscissae.
- Improved documentation for clarity on usage and expectations.
- Adjusted tests to reflect changes in abscissa handling and error reporting.
…e changelog with new interpolation module and features
@VPRamon VPRamon merged commit 1502925 into main Jun 16, 2026
5 checks passed
@VPRamon VPRamon deleted the impl-interpolation branch June 16, 2026 20:08
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.

1 participant