/usr/include/boost/math/interpolators
NameSizeModeActions
detail/-0755rm
barycentric_rational.hpp38050644editdlrm
cardinal_cubic_b_spline.hpp37150644editdlrm
cardinal_quadratic_b_spline.hpp23470644editdlrm
cardinal_quintic_b_spline.hpp26750644editdlrm
cardinal_trigonometric.hpp14430644editdlrm
catmull_rom.hpp87670644editdlrm
cubic_b_spline.hpp36650644editdlrm
cubic_hermite.hpp34700644editdlrm
makima.hpp59780644editdlrm
pchip.hpp37200644editdlrm
quintic_hermite.hpp36390644editdlrm
septic_hermite.hpp36970644editdlrm
vector_barycentric_rational.hpp28660644editdlrm
whittaker_shannon.hpp12910644editdlrm
Edit: /usr/include/boost/math/interpolators/cardinal_quadratic_b_spline.hpp (2347B)
// Copyright Nick Thompson, 2019 // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt // or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_MATH_INTERPOLATORS_CARDINAL_QUADRATIC_B_SPLINE_HPP #define BOOST_MATH_INTERPOLATORS_CARDINAL_QUADRATIC_B_SPLINE_HPP #include #include namespace boost{ namespace math{ namespace interpolators { template class cardinal_quadratic_b_spline { public: // If you don't know the value of the derivative at the endpoints, leave them as nans and the routine will estimate them. // y[0] = y(a), y[n - 1] = y(b), step_size = (b - a)/(n -1). cardinal_quadratic_b_spline(const Real* const y, size_t n, Real t0 /* initial time, left endpoint */, Real h /*spacing, stepsize*/, Real left_endpoint_derivative = std::numeric_limits::quiet_NaN(), Real right_endpoint_derivative = std::numeric_limits::quiet_NaN()) : impl_(std::make_shared>(y, n, t0, h, left_endpoint_derivative, right_endpoint_derivative)) {} // Oh the bizarre error messages if we template this on a RandomAccessContainer: cardinal_quadratic_b_spline(std::vector const & y, Real t0 /* initial time, left endpoint */, Real h /*spacing, stepsize*/, Real left_endpoint_derivative = std::numeric_limits::quiet_NaN(), Real right_endpoint_derivative = std::numeric_limits::quiet_NaN()) : impl_(std::make_shared>(y.data(), y.size(), t0, h, left_endpoint_derivative, right_endpoint_derivative)) {} Real operator()(Real t) const { return impl_->operator()(t); } Real prime(Real t) const { return impl_->prime(t); } Real t_max() const { return impl_->t_max(); } private: std::shared_ptr> impl_; }; }}} #endif