//! Sparse grid interpolation in fixed-point arithmetic.
//!
//! Implements the fast sparse tensor product matrix-vector product
//! from Holzmuller & Pfluger (2021), adapted for integer-only
//! evaluation compatible with CORDIC instruction sequences.
//!
//! The algorithm uses the unidirectional principle: cycle through
//! dimensions, multiplying one 1D factor at a time. Complexity is
//! O(d * N * n) instead of O(N^2), where d is dimensionality,
//! N is the total grid size, and n is the 1D resolution.

pub mod fixed;
pub mod index;
pub mod vector;
pub mod matrix;
pub mod operator;
pub mod interp;

pub use fixed::FixedPoint;
pub use index::BoundedSumIter;
pub use vector::MultiDimVec;
pub use matrix::DenseMatrix;
pub use operator::SparseTPOperator;
pub use interp::{BasisFn, PointDist, MonomialBasis, GoldenPoints, UniformPoints};
pub use interp::{interpolate, evaluate_function, create_interpolation_operator};
