Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
interpolation.hh File Reference

Interpolation over periodic range points at half bin width multiples. More...

#include <numeric/numeric.functions.hh>
#include <numeric/NumericTraits.hh>
#include <numeric/interpolation/interpolation.hh>
#include <utility/assert.hh>
#include <cmath>

Namespaces

 numeric
 Unit headers.
 
 numeric::interpolation
 
 numeric::interpolation::periodic_range
 
 numeric::interpolation::periodic_range::half
 

Functions

template<typename X >
platform::SSize numeric::interpolation::periodic_range::half::bin (X const &x, X const &w, platform::SSize const n)
 Periodic interpolation bin number of a value. More...
 
template<typename X >
platform::SSize numeric::interpolation::periodic_range::half::bin (X const &x, X const &w, platform::SSize const n, X &a)
 Periodic interpolation bin number of a value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::interpolated (X const &x, X const &w, platform::SSize const n, A< F > const &f)
 Periodic linearly interpolated value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::interpolated (platform::SSize const u, X const &a, platform::SSize const n, A< F > const &f)
 Periodic linearly interpolated value given the bin and alpha fraction. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::bilinearly_interpolated (X const &x1, X const &x2, X const &w, platform::SSize const n, A< F > const &f)
 Periodic bilinearly interpolated value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::bilinearly_interpolated (platform::SSize const u1, platform::SSize const u2, X const &a1, X const &a2, platform::SSize const n, A< F > const &f)
 Periodic bilinearly interpolated value given the bins and alpha fractions. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::bilinearly_interpolated (X const &x1, X const &x2, X const &w, platform::SSize const n, A< F > const &f, F &df_dx1, F &df_dx2)
 Periodic bilinearly interpolated value and derivatives. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::half::bilinearly_interpolated (platform::SSize const u1, platform::SSize const u2, X const &a1, X const &a2, X const &w, platform::SSize const n, A< F > const &f, F &df_dx1, F &df_dx2)
 Periodic bilinearly interpolated value and derivatives given the bins and alpha fractions. More...
 

Detailed Description

Interpolation over periodic range points at half bin width multiples.

Author
Stuart G. Mentzer (Stuar.nosp@m.t_Me.nosp@m.ntzer.nosp@m.@obj.nosp@m.exx.c.nosp@m.om)
Remarks
  • For interpolation into arrays with values at { w/2, 3w/2, ... } for bin width w
  • Bins are numbered from 0,...,n-1 and range from [ (bin-1/2)w, (bin+1/2)w ]
  • Bin number the upper index in the interpolated arrays
array values at -w/2 w/2 3w/2 ... (n-3/2)w (n-1/2)w bin number | 0 | 1 | ... | n-1 | array index n-1 0 1 ... n-2 n-1