ARTS 2.5.4 (git: 4c0d3b4d)
|
#include "constants.h"
#include "debug.h"
#include "enums.h"
#include "grids.h"
#include "matpackVII.h"
#include "nonstd.h"
#include <algorithm>
#include <array>
#include <functional>
#include <limits>
#include <memory>
#include <numeric>
#include <type_traits>
#include <vector>
Go to the source code of this file.
Classes | |
struct | Interpolation::Lagrange |
A Lagrange interpolation computer. More... | |
struct | Interpolation::FixedLagrange< PolyOrder > |
Namespaces | |
namespace | Interpolation |
Typedefs | |
using | LagrangeInterpolation = Interpolation::Lagrange |
using | ArrayOfLagrangeInterpolation = Array< LagrangeInterpolation > |
using | VectorOfVector = Grid< Vector, 1 > |
using | MatrixOfMatrix = Grid< Matrix, 2 > |
using | Tensor3OfTensor3 = Grid< Tensor3, 3 > |
template<std::size_t N> | |
using | FixedLagrangeInterpolation = Interpolation::FixedLagrange< N > |
Functions | |
constexpr Index | Interpolation::cycler (const Index n, const Index N) noexcept |
constexpr Numeric | Interpolation::cyclic_clamp (const Numeric x, const std::pair< Numeric, Numeric > xlim) noexcept |
constexpr Numeric | Interpolation::min_cyclic (const Numeric x, const std::pair< Numeric, Numeric > xlim) noexcept |
constexpr bool | Interpolation::full_cycle (const Numeric xo, const Numeric xn, const std::pair< Numeric, Numeric > xlim) noexcept |
template<class SortedVectorType > | |
constexpr Index | Interpolation::start_pos_finder (const Numeric x, const SortedVectorType &xvec) noexcept |
constexpr Index | Interpolation::IMAX (const Index a, const Index b) noexcept |
Return the maximum of two integer numbers. More... | |
constexpr Index | Interpolation::IMIN (const Index a, const Index b) noexcept |
Return the minimum of two integer numbers. More... | |
template<class SortedVectorType > | |
constexpr Index | Interpolation::pos_finder (const Index pos0, const Numeric x, const SortedVectorType &xi, const Index polyorder, const bool cyclic, const bool ascending, const std::pair< Numeric, Numeric > cycle={ -180, 180}) noexcept |
Interpolation::ENUMCLASS (GridType, char, Standard, Cyclic, Log, Log10, Log2, SinDeg, SinRad, CosDeg, CosRad) | |
template<GridType type, class SortedVectorType > | |
constexpr Numeric | Interpolation::l (const Index p0, const Index n, const Numeric x, const SortedVectorType &xi, const Index j, const std::pair< Numeric, Numeric > cycle={ -180, 180}) noexcept |
template<GridType type, class SortedVectorType , class LagrangeVectorType > | |
constexpr double | Interpolation::dl_dval (const Index p0, const Index n, const Numeric x, const SortedVectorType &xi, const LagrangeVectorType &li, const Index j, const Index i, const std::pair< Numeric, Numeric > cycle) noexcept |
template<GridType type, class SortedVectorType , class LagrangeVectorType > | |
constexpr Numeric | Interpolation::dl (const Index p0, const Index n, const Numeric x, const SortedVectorType &xi, const LagrangeVectorType &li, const Index j, const std::pair< Numeric, Numeric > cycle={-180, 180}) noexcept |
template<class SortedVectorType > | |
constexpr bool | Interpolation::is_ascending (const SortedVectorType &xi) noexcept |
Checks whether the Sorted Vector is ascending or not by checking its first two elements. More... | |
template<class SortedVectorType > | |
void | Interpolation::check_lagrange_interpolation (const SortedVectorType &xi, const Index polyorder=1, const std::pair< Numeric, Numeric > x={std::numeric_limits< Numeric >::infinity(), -std::numeric_limits< Numeric >::infinity()}, const Numeric extrapol=0.5, const GridType type=GridType::Standard, const std::pair< Numeric, Numeric > cycle={-180, 180}) |
template<class SortedVectorType > | |
void | Interpolation::check_lagrange_interpolation (const SortedVectorType &xi, const Index polyorder, const Numeric x, const Numeric extrapol=0.5, const GridType type=GridType::Standard, const std::pair< Numeric, Numeric > cycle={-180, 180}) |
Array< Lagrange > | Interpolation::LagrangeVector (const ConstVectorView &xs, const ConstVectorView &xi, const Index polyorder, const Numeric extrapol, const bool do_derivs, const GridType type, const std::pair< Numeric, Numeric > cycle) |
template<std::size_t PolyOrder, class UnsortedVectorType , class SortedVectorType > | |
Array< FixedLagrange< PolyOrder > > | Interpolation::FixedLagrangeVector (const UnsortedVectorType &xs, const SortedVectorType &xi, const bool do_derivs=false, const GridType type=GridType::Standard, const std::pair< Numeric, Numeric > cycle={-180, 180}) |
Vector | Interpolation::interpweights (const Lagrange &dim0) |
Grid< Vector, 1 > | Interpolation::interpweights (const Array< Lagrange > &dim0) |
template<std::size_t PolyOrder> | |
constexpr const std::array< Numeric, PolyOrder+1 > & | Interpolation::interpweights (const FixedLagrange< PolyOrder > &dim0) |
template<std::size_t PolyOrder> | |
Grid< std::array< Numeric, PolyOrder+1 >, 1 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder > > &dim0) |
Vector | Interpolation::dinterpweights (const Lagrange &dim0) |
Grid< Vector, 1 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0) |
template<std::size_t PolyOrder> | |
constexpr std::array< Numeric, PolyOrder+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder > &dim0) |
template<std::size_t PolyOrder> | |
Grid< std::array< Numeric, PolyOrder+1 >, 1 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder > > &dim0) |
Numeric | Interpolation::interp (const ConstVectorView &yi, const ConstVectorView &iw, const Lagrange &dim0) |
template<std::size_t PolyOrder, class VectorType > | |
constexpr Numeric | Interpolation::interp (const VectorType &yi, const std::array< Numeric, PolyOrder+1 > &iw, const FixedLagrange< PolyOrder > &dim0) |
void | Interpolation::reinterp (VectorView out, const ConstVectorView &iy, const Grid< Vector, 1 > &iw, const Array< Lagrange > &dim0) |
Vector | Interpolation::reinterp (const ConstVectorView &iy, const Grid< Vector, 1 > &iw, const Array< Lagrange > &dim0) |
template<std::size_t PolyOrder> | |
Vector | Interpolation::reinterp (const ConstVectorView &iy, const Grid< std::array< Numeric, PolyOrder+1 >, 1 > &iw, const Array< FixedLagrange< PolyOrder > > &dim0) |
Matrix | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1) |
Grid< Matrix, 2 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 >, 2 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1) |
Matrix | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, Index dim) |
Grid< Matrix, 2 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 >, 2 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1) |
Numeric | Interpolation::interp (const ConstMatrixView &yi, const ConstMatrixView &iw, const Lagrange &dim0, const Lagrange &dim1) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, class MatrixType > | |
constexpr Numeric | Interpolation::interp (const MatrixType &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1) |
void | Interpolation::reinterp (MatrixView out, const ConstMatrixView &iy, const Grid< Matrix, 2 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1) |
Matrix | Interpolation::reinterp (const ConstMatrixView &iy, const Grid< Matrix, 2 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1> | |
Matrix | Interpolation::reinterp (const ConstMatrixView &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1 >, 2 > &iw, const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1) |
Tensor3 | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2) |
Grid< Tensor3, 3 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 >, 3 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2) |
Tensor3 | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, Index dim) |
Grid< Tensor3, 3 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 >, 3 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2) |
Numeric | Interpolation::interp (const ConstTensor3View &yi, const ConstTensor3View &iw, const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, class Tensor3Type > | |
constexpr Numeric | Interpolation::interp (const Tensor3Type &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2) |
void | Interpolation::reinterp (Tensor3View out, const ConstTensor3View &iy, const Grid< Tensor3, 3 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2) |
Tensor3 | Interpolation::reinterp (const ConstTensor3View &iy, const Grid< Tensor3, 3 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2> | |
Tensor3 | Interpolation::reinterp (const ConstTensor3View &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1 >, 3 > &iw, const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2) |
Tensor4 | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3) |
Grid< Tensor4, 4 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 >, 4 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3) |
Tensor4 | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, Index dim) |
Grid< Tensor4, 4 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 >, 4 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3) |
Numeric | Interpolation::interp (const ConstTensor4View &yi, const ConstTensor4View &iw, const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, class Tensor4Type > | |
constexpr Numeric | Interpolation::interp (const Tensor4Type &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3) |
void | Interpolation::reinterp (Tensor4View out, const ConstTensor4View &iy, const Grid< Tensor4, 4 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3) |
Tensor4 | Interpolation::reinterp (const ConstTensor4View &iy, const Grid< Tensor4, 4 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3> | |
Tensor4 | Interpolation::reinterp (const ConstTensor4View &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1 >, 4 > &iw, const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3) |
Tensor5 | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4) |
Grid< Tensor5, 5 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 >, 5 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4) |
Tensor5 | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, Index dim) |
Grid< Tensor5, 5 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 >, 5 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4) |
Numeric | Interpolation::interp (const ConstTensor5View &yi, const ConstTensor5View &iw, const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, class Tensor5Type > | |
constexpr Numeric | Interpolation::interp (const Tensor5Type &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4) |
void | Interpolation::reinterp (Tensor5View out, const ConstTensor5View &iy, const Grid< Tensor5, 5 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4) |
Tensor5 | Interpolation::reinterp (const ConstTensor5View &iy, const Grid< Tensor5, 5 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4> | |
Tensor5 | Interpolation::reinterp (const ConstTensor5View &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1 >, 5 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4) |
Tensor6 | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5) |
Grid< Tensor6, 6 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 >, 6 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5) |
Tensor6 | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5, Index dim) |
Grid< Tensor6, 6 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 >, 6 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5) |
Numeric | Interpolation::interp (const ConstTensor6View &yi, const ConstTensor6View &iw, const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, class Tensor6Type > | |
constexpr Numeric | Interpolation::interp (const Tensor6Type &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5) |
void | Interpolation::reinterp (Tensor6View out, const ConstTensor6View &iy, const Grid< Tensor6, 6 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5) |
Tensor6 | Interpolation::reinterp (const ConstTensor6View &iy, const Grid< Tensor6, 6 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5> | |
Tensor6 | Interpolation::reinterp (const ConstTensor6View &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1 >, 6 > &iw, const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5) |
Tensor7 | Interpolation::interpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5, const Lagrange &dim6) |
Grid< Tensor7, 7 > | Interpolation::interpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5, const Array< Lagrange > &dim6) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 > | Interpolation::interpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5, const FixedLagrange< PolyOrder6 > &dim6) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 >, 7 > | Interpolation::interpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5, const Array< FixedLagrange< PolyOrder6 > > &dim6) |
Tensor7 | Interpolation::dinterpweights (const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5, const Lagrange &dim6, Index dim) |
Grid< Tensor7, 7 > | Interpolation::dinterpweights (const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5, const Array< Lagrange > &dim6, Index dim) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6, std::size_t DerivativeDim> | |
constexpr FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 > | Interpolation::dinterpweights (const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5, const FixedLagrange< PolyOrder6 > &dim6) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6, std::size_t DerivativeDim> | |
Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 >, 7 > | Interpolation::dinterpweights (const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5, const Array< FixedLagrange< PolyOrder6 > > &dim6) |
Numeric | Interpolation::interp (const ConstTensor7View &yi, const ConstTensor7View &iw, const Lagrange &dim0, const Lagrange &dim1, const Lagrange &dim2, const Lagrange &dim3, const Lagrange &dim4, const Lagrange &dim5, const Lagrange &dim6) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6, class Tensor7Type > | |
constexpr Numeric | Interpolation::interp (const Tensor7Type &yi, const FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 > &iw, const FixedLagrange< PolyOrder0 > &dim0, const FixedLagrange< PolyOrder1 > &dim1, const FixedLagrange< PolyOrder2 > &dim2, const FixedLagrange< PolyOrder3 > &dim3, const FixedLagrange< PolyOrder4 > &dim4, const FixedLagrange< PolyOrder5 > &dim5, const FixedLagrange< PolyOrder6 > &dim6) |
void | Interpolation::reinterp (Tensor7View out, const ConstTensor7View &iy, const Grid< Tensor7, 7 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5, const Array< Lagrange > &dim6) |
Tensor7 | Interpolation::reinterp (const ConstTensor7View &iy, const Grid< Tensor7, 7 > &iw, const Array< Lagrange > &dim0, const Array< Lagrange > &dim1, const Array< Lagrange > &dim2, const Array< Lagrange > &dim3, const Array< Lagrange > &dim4, const Array< Lagrange > &dim5, const Array< Lagrange > &dim6) |
template<std::size_t PolyOrder0, std::size_t PolyOrder1, std::size_t PolyOrder2, std::size_t PolyOrder3, std::size_t PolyOrder4, std::size_t PolyOrder5, std::size_t PolyOrder6> | |
Tensor7 | Interpolation::reinterp (const ConstTensor7View &iy, const Grid< FixedGrid< Numeric, PolyOrder0+1, PolyOrder1+1, PolyOrder2+1, PolyOrder3+1, PolyOrder4+1, PolyOrder5+1, PolyOrder6+1 >, 7 > &iw, const Array< FixedLagrange< PolyOrder0 > > &dim0, const Array< FixedLagrange< PolyOrder1 > > &dim1, const Array< FixedLagrange< PolyOrder2 > > &dim2, const Array< FixedLagrange< PolyOrder3 > > &dim3, const Array< FixedLagrange< PolyOrder4 > > &dim4, const Array< FixedLagrange< PolyOrder5 > > &dim5, const Array< FixedLagrange< PolyOrder6 > > &dim6) |
A list of Lagrange interpolation points
Definition at line 3016 of file interpolation_lagrange.h.
using FixedLagrangeInterpolation = Interpolation::FixedLagrange<N> |
The fixed Lagrange interpolation base point
Definition at line 3029 of file interpolation_lagrange.h.
The Lagrange interpolation base point
Definition at line 3013 of file interpolation_lagrange.h.
using MatrixOfMatrix = Grid<Matrix, 2> |
A Matrix of Matrix for Lagrange Interpolation
Definition at line 3022 of file interpolation_lagrange.h.
using Tensor3OfTensor3 = Grid<Tensor3, 3> |
A Tensor3 of Tensor3 for Lagrange Interpolation
Definition at line 3025 of file interpolation_lagrange.h.
using VectorOfVector = Grid<Vector, 1> |
A Vector of Vector for Lagrange Interpolation
Definition at line 3019 of file interpolation_lagrange.h.