|
Janus 2.0.0
High-performance C++20 dual-mode numerical framework
|
N-dimensional interpolation (linear, Hermite, B-spline, nearest). More...
#include "janus/core/JanusConcepts.hpp"#include "janus/core/JanusError.hpp"#include "janus/core/JanusTypes.hpp"#include "janus/math/Linalg.hpp"#include <algorithm>#include <casadi/casadi.hpp>#include <cmath>#include <optional>#include <vector>

Go to the source code of this file.
Classes | |
| struct | janus::ExtrapolationConfig |
| Configuration for extrapolation behavior. More... | |
| struct | janus::detail::InterpnGridData |
| class | janus::Interpolator |
Namespaces | |
| namespace | janus |
| namespace | janus::detail |
| Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)). | |
Enumerations | |
| enum class | janus::InterpolationMethod { janus::Linear , janus::Hermite , janus::BSpline , janus::Nearest } |
| Supported interpolation methods. More... | |
| enum class | janus::ExtrapolationMode { janus::Clamp , janus::Linear } |
| Controls behavior when query points fall outside grid bounds. More... | |
Functions | |
| std::string | janus::detail::method_to_casadi_string (InterpolationMethod method) |
| Convert InterpolationMethod enum to CasADi string. | |
| const char * | janus::detail::hermite_symbolic_error_message () |
| template<typename Derived> | |
| JanusVector< typename Derived::Scalar > | janus::detail::flatten_fortran_order (const Eigen::MatrixBase< Derived > &values) |
| Flatten N-D values array in Fortran order for CasADi. | |
| std::string | janus::detail::symbolic_values_method_error_message (InterpolationMethod method) |
| InterpnGridData | janus::detail::build_interpn_grid (const std::vector< NumericVector > &points, const char *context) |
| void | janus::detail::validate_bspline_grid (const std::vector< std::vector< double > > &grid, const char *context) |
| template<JanusScalar Scalar> | |
| JanusMatrix< Scalar > | janus::detail::normalize_query_matrix (const JanusMatrix< Scalar > &xi, int n_dims, const char *context) |
| template<JanusScalar Scalar> | |
| SymbolicScalar | janus::detail::clamp_query_point (const JanusVector< Scalar > &point, const std::vector< std::vector< double > > &grid) |
| template<JanusScalar Scalar> | |
| bool | janus::detail::point_out_of_bounds_numeric (const JanusVector< Scalar > &point, const std::vector< std::vector< double > > &grid) |
| SymbolicScalar | janus::detail::point_out_of_bounds_symbolic (const SymbolicVector &point, const std::vector< std::vector< double > > &grid) |
| casadi::Function | janus::detail::make_parametric_interpolant (const std::vector< std::vector< double > > &grid, InterpolationMethod method) |
| double | janus::detail::catmull_rom_slope (const std::vector< double > &x, const std::vector< double > &y, size_t i) |
| Compute Catmull-Rom slope at a point using neighboring values. | |
| double | janus::detail::hermite_interp_1d_numeric (const std::vector< double > &x, const std::vector< double > &y, double query) |
| Evaluate 1D Catmull-Rom cubic Hermite spline (numeric only). | |
| std::vector< int > | janus::detail::flat_to_multi_index (int flat_idx, const std::vector< int > &dims) |
| Compute multi-dimensional index from flat index (Fortran order). | |
| int | janus::detail::multi_to_flat_index (const std::vector< int > &multi, const std::vector< int > &dims) |
| Compute flat index from multi-dimensional index (Fortran order). | |
| double | janus::detail::hermite_interpn_numeric (const std::vector< std::vector< double > > &grid, const std::vector< double > &values, const std::vector< double > &query) |
| N-dimensional Catmull-Rom interpolation via tensor product (numeric only). | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::interpn (const std::vector< NumericVector > &points, const NumericVector &values_flat, const JanusMatrix< Scalar > &xi, InterpolationMethod method=InterpolationMethod::Linear, std::optional< Scalar > fill_value=std::nullopt) |
| N-dimensional interpolation on regular grids (backwards compatibility). | |
| template<typename Scalar> | |
| SymbolicVector | janus::interpn (const std::vector< NumericVector > &points, const SymbolicVector &values_flat, const JanusMatrix< Scalar > &xi, InterpolationMethod method=InterpolationMethod::Linear, std::optional< SymbolicScalar > fill_value=std::nullopt) |
| N-dimensional interpolation with symbolic table values. | |
N-dimensional interpolation (linear, Hermite, B-spline, nearest).