ARTS 2.5.4 (git: 4c0d3b4d)
Interpolation::FixedLagrange< PolyOrder > Struct Template Reference

#include <interpolation_lagrange.h>

Public Member Functions

constexpr FixedLagrange (FixedLagrange &&l) noexcept
 Enusre that the move constructor exists. More...
 
constexpr FixedLagrangeoperator= (FixedLagrange &&l) noexcept
 Enusre that the move operator exists. More...
 
template<class SortedVectorType >
constexpr FixedLagrange (const Index p0, const Numeric x, const SortedVectorType &xi, const bool do_derivs=false, const GridType type=GridType::Standard, const std::pair< Numeric, Numeric > cycle={-180, 180}) noexcept
 

Static Public Member Functions

static constexpr Index size () noexcept
 

Public Attributes

Index pos
 
std::array< Numeric, PolyOrder+1 > lx
 
std::array< Numeric, PolyOrder+1 > dlx
 

Static Private Member Functions

template<class SortedVectorType >
static constexpr std::array< Numeric, PolyOrder+1 > lx_finder (const Index p0, const Numeric x, const SortedVectorType &xi, const GridType type, const std::pair< Numeric, Numeric > cycle) noexcept
 
template<class SortedVectorType >
static constexpr std::array< Numeric, PolyOrder+1 > dlx_finder (const Index p0, const Numeric x, const SortedVectorType &xi, const std::array< Numeric, PolyOrder+1 > &li, const GridType type, const std::pair< Numeric, Numeric > cycle) noexcept
 

Friends

std::ostream & operator<< (std::ostream &os, const FixedLagrange &l)
 

Detailed Description

template<std::size_t PolyOrder>
struct Interpolation::FixedLagrange< PolyOrder >

A Fixed Lagrange interpolation computer

Definition at line 644 of file interpolation_lagrange.h.

Constructor & Destructor Documentation

◆ FixedLagrange() [1/2]

template<std::size_t PolyOrder>
constexpr Interpolation::FixedLagrange< PolyOrder >::FixedLagrange ( FixedLagrange< PolyOrder > &&  l)
inlineconstexprnoexcept

Enusre that the move constructor exists.

Definition at line 658 of file interpolation_lagrange.h.

◆ FixedLagrange() [2/2]

template<std::size_t PolyOrder>
template<class SortedVectorType >
constexpr Interpolation::FixedLagrange< PolyOrder >::FixedLagrange ( const Index  p0,
const Numeric  x,
const SortedVectorType &  xi,
const bool  do_derivs = false,
const GridType  type = GridType::Standard,
const std::pair< Numeric, Numeric cycle = {-180, 180} 
)
inlineconstexprnoexcept

Standard initializer from Vector-types

Parameters
[in]pos0Estimation of original position, must be [0, xi.size())
[in]xNew grid position
[in]xiOld grid positions
[in]do_derivsCompute derivatives?
[in]typeType of Lagrange
[in]cycleSize of a cycle if Cyclic type

Definition at line 678 of file interpolation_lagrange.h.

Member Function Documentation

◆ dlx_finder()

template<std::size_t PolyOrder>
template<class SortedVectorType >
static constexpr std::array< Numeric, PolyOrder+1 > Interpolation::FixedLagrange< PolyOrder >::dlx_finder ( const Index  p0,
const Numeric  x,
const SortedVectorType &  xi,
const std::array< Numeric, PolyOrder+1 > &  li,
const GridType  type,
const std::pair< Numeric, Numeric cycle 
)
inlinestaticconstexprprivatenoexcept

Finds dlx

Parameters
[in]p0Estimation of original position, must be [0, xi.size())
[in]xNew grid position
[in]xiOld grid positions
[in]liThe lx produced by lx_finder
[in]typeType of Lagrange
[in]cycleSize of a cycle if Cyclic type

Definition at line 768 of file interpolation_lagrange.h.

◆ lx_finder()

template<std::size_t PolyOrder>
template<class SortedVectorType >
static constexpr std::array< Numeric, PolyOrder+1 > Interpolation::FixedLagrange< PolyOrder >::lx_finder ( const Index  p0,
const Numeric  x,
const SortedVectorType &  xi,
const GridType  type,
const std::pair< Numeric, Numeric cycle 
)
inlinestaticconstexprprivatenoexcept

Finds lx

Parameters
[in]p0Estimation of original position, must be [0, xi.size())
[in]xNew grid position
[in]xiOld grid positions
[in]typeType of Lagrange
[in]cycleSize of a cycle if Cyclic type

Definition at line 709 of file interpolation_lagrange.h.

◆ operator=()

template<std::size_t PolyOrder>
constexpr FixedLagrange & Interpolation::FixedLagrange< PolyOrder >::operator= ( FixedLagrange< PolyOrder > &&  l)
inlineconstexprnoexcept

◆ size()

template<std::size_t PolyOrder>
static constexpr Index Interpolation::FixedLagrange< PolyOrder >::size ( )
inlinestaticconstexprnoexcept

Friends And Related Function Documentation

◆ operator<<

template<std::size_t PolyOrder>
std::ostream & operator<< ( std::ostream &  os,
const FixedLagrange< PolyOrder > &  l 
)
friend

Friendly stream operator

Definition at line 691 of file interpolation_lagrange.h.

Member Data Documentation

◆ dlx

template<std::size_t PolyOrder>
std::array<Numeric, PolyOrder + 1> Interpolation::FixedLagrange< PolyOrder >::dlx

The Lagrange interpolation weights derivatives at each point

Definition at line 652 of file interpolation_lagrange.h.

Referenced by Interpolation::dinterpweights(), and Interpolation::FixedLagrange< PolyOrder >::operator=().

◆ lx

template<std::size_t PolyOrder>
std::array<Numeric, PolyOrder + 1> Interpolation::FixedLagrange< PolyOrder >::lx

◆ pos

template<std::size_t PolyOrder>
Index Interpolation::FixedLagrange< PolyOrder >::pos

The first position of the Lagrange interpolation grid

Definition at line 646 of file interpolation_lagrange.h.

Referenced by Interpolation::interp(), and Interpolation::FixedLagrange< PolyOrder >::operator=().


The documentation for this struct was generated from the following file: