Skip to content

Class TempLat::Spline

template <typename T>

ClassList > TempLat > Spline

Public Types

Type Name
enum BdType
enum SplineType

Public Functions

Type Name
Spline ()
Spline (const std::vector< T > & X, const std::vector< T > & Y, SplineType type=cspline, bool make_monotonic=false, BdType left=second_deriv, T left_value=T(0), BdType right=second_deriv, T right_value=T(0))
DEVICE_INLINE_FUNCTION const SplineData< T > & data () const
DEVICE_INLINE_FUNCTION T deriv (int order, T x) const
T deriv_host (int order, T x) const
T eval_host (T x) const
std::vector< T > get_x () const
T get_x_max () const
T get_x_min () const
std::vector< T > get_y () const
bool make_monotonic ()
DEVICE_INLINE_FUNCTION T operator() (T x) const
void push ()
void set_boundary (BdType left, T left_value, BdType right, T right_value)
void set_points (const std::vector< T > & x, const std::vector< T > & y, SplineType type=cspline)
std::vector< T > solve (T y, bool ignore_extrapolation=true) const

Public Types Documentation

enum BdType

enum TempLat::Spline::BdType {
    first_deriv = 1,
    second_deriv = 2,
    not_a_knot = 3
};

enum SplineType

enum TempLat::Spline::SplineType {
    linear = 10,
    cspline = 30,
    cspline_hermite = 31
};

Public Functions Documentation

function Spline [1/2]

inline TempLat::Spline::Spline () 

function Spline [2/2]

inline TempLat::Spline::Spline (
    const std::vector< T > & X,
    const std::vector< T > & Y,
    SplineType type=cspline,
    bool make_monotonic=false,
    BdType left=second_deriv,
    T left_value=T(0),
    BdType right=second_deriv,
    T right_value=T(0)
) 

function data

inline DEVICE_INLINE_FUNCTION const SplineData < T > & TempLat::Spline::data () const

function deriv

inline DEVICE_INLINE_FUNCTION T TempLat::Spline::deriv (
    int order,
    T x
) const

function deriv_host

inline T TempLat::Spline::deriv_host (
    int order,
    T x
) const

function eval_host

inline T TempLat::Spline::eval_host (
    T x
) const

function get_x

inline std::vector< T > TempLat::Spline::get_x () const

function get_x_max

inline T TempLat::Spline::get_x_max () const

function get_x_min

inline T TempLat::Spline::get_x_min () const

function get_y

inline std::vector< T > TempLat::Spline::get_y () const

function make_monotonic

inline bool TempLat::Spline::make_monotonic () 

function operator()

inline DEVICE_INLINE_FUNCTION T TempLat::Spline::operator() (
    T x
) const

function push

inline void TempLat::Spline::push () 

function set_boundary

inline void TempLat::Spline::set_boundary (
    BdType left,
    T left_value,
    BdType right,
    T right_value
) 

function set_points

inline void TempLat::Spline::set_points (
    const std::vector< T > & x,
    const std::vector< T > & y,
    SplineType type=cspline
) 

function solve

inline std::vector< T > TempLat::Spline::solve (
    T y,
    bool ignore_extrapolation=true
) const


The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/util/spline.h