/usr/include/boost/math/interpolators
Edit: /usr/include/boost/math/interpolators/cardinal_trigonometric.hpp (1443B)
// (C) 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_TRIGONOMETRIC_HPP
#define BOOST_MATH_INTERPOLATORS_CARDINAL_TRIGONOMETRIC_HPP
#include
#include
namespace boost { namespace math { namespace interpolators {
template
class cardinal_trigonometric
{
public:
using Real = typename RandomAccessContainer::value_type;
cardinal_trigonometric(RandomAccessContainer const & v, Real t0, Real h)
{
m_impl = std::make_shared>(v.data(), v.size(), t0, h);
}
Real operator()(Real t) const
{
return m_impl->operator()(t);
}
Real prime(Real t) const
{
return m_impl->prime(t);
}
Real double_prime(Real t) const
{
return m_impl->double_prime(t);
}
Real period() const
{
return m_impl->period();
}
Real integrate() const
{
return m_impl->integrate();
}
Real squared_l2() const
{
return m_impl->squared_l2();
}
private:
std::shared_ptr> m_impl;
};
}}}
#endif