Rosetta Utilities  2014.35
Namespaces | Functions
interpolation.hh File Reference

Interpolation of periodic values 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 <cassert>
#include <cmath>

Namespaces

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

Functions

template<typename X >
platform::SSize numeric::interpolation::periodic_range::periodic_value::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::periodic_value::half::bin (X const &x, X const &w, platform::SSize const n, X &a)
 Periodic interpolation bin number of a value. More...
 
template<typename F >
numeric::interpolation::periodic_range::periodic_value::half::nearest_periodic_value (F const &a, F const &b, F const &p)
 Nearest periodic value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::periodic_value::half::interpolated (X const &x, X const &w, platform::SSize const n, A< F > const &f, F const &p)
 Periodic linearly interpolated value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::periodic_value::half::interpolated (platform::SSize const u, X const &a, platform::SSize const n, A< F > const &f, F const &p)
 Periodic linearly interpolated value given the bin and alpha fraction. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::periodic_value::half::bilinearly_interpolated (X const &x1, X const &x2, X const &w, platform::SSize const n, A< F > const &f, F const &p)
 Periodic bilinearly interpolated value. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::periodic_value::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, F const &p)
 Periodic bilinearly interpolated value given the bins and alpha fractions. More...
 
template<typename X , typename F , template< typename > class A>
numeric::interpolation::periodic_range::periodic_value::half::bilinearly_interpolated (X const &x1, X const &x2, X const &w, platform::SSize const n, A< F > const &f, F const &p, 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::periodic_value::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 const &p, F &df_dx1, F &df_dx2)
 Periodic bilinearly interpolated value and derivatives given the bins and alpha fractions. More...
 

Detailed Description

Interpolation of periodic values 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