ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::mad::LLinearPiecewiseFunctionS< T > Class Template Reference

#include <llinearpiecewisefunction.h>

Inheritance diagram for adore::mad::LLinearPiecewiseFunctionS< T >:
Inheritance graph
Collaboration diagram for adore::mad::LLinearPiecewiseFunctionS< T >:
Collaboration graph

Public Member Functions

 LLinearPiecewiseFunctionS (const adoreMatrix< T, 2, 0 > &data)
 
 LLinearPiecewiseFunctionS (const adoreMatrix< T, 1, 0 > &x, const adoreMatrix< T, 1, 0 > &y)
 
unsigned int findIndex (DT x) const
 
virtual CT f (DT x) const override
 
virtual DT limitHi () const override
 
virtual DT limitLo () const override
 
virtual void setLimits (DT lo, DT hi)
 
virtual ALFunction< DT, CT > * clone ()
 
virtual ALFunction< DT, CT > * create_derivative () override
 
virtual void bound (const DT &xmin, const DT &xmax, CT &ymin, CT &ymax) override
 
- Public Member Functions inherited from adore::mad::ALFunction< T, T >
virtual void f (T *xvec, T *yvec, unsigned int count) const
 
void bound (T &ymin, T &ymax)
 
virtual ~ALFunction ()
 
 ALFunction ()
 
const T operator() (T x) const
 
bool isInDomain (T x)
 
f_bounded (T x)
 
void invalidateCachedBounds ()
 

Private Types

typedef T CT
 
typedef T DT
 

Private Attributes

adoreMatrix< T, 2, 0 > m_data
 
unsigned int m_searchIndex
 

Detailed Description

template<typename T>
class adore::mad::LLinearPiecewiseFunctionS< T >

A scalar, linear, limited, piecewise function

Member Typedef Documentation

◆ CT

template<typename T >
typedef T adore::mad::LLinearPiecewiseFunctionS< T >::CT
private

◆ DT

template<typename T >
typedef T adore::mad::LLinearPiecewiseFunctionS< T >::DT
private

Constructor & Destructor Documentation

◆ LLinearPiecewiseFunctionS() [1/2]

template<typename T >
adore::mad::LLinearPiecewiseFunctionS< T >::LLinearPiecewiseFunctionS ( const adoreMatrix< T, 2, 0 > &  data)
inline

◆ LLinearPiecewiseFunctionS() [2/2]

template<typename T >
adore::mad::LLinearPiecewiseFunctionS< T >::LLinearPiecewiseFunctionS ( const adoreMatrix< T, 1, 0 > &  x,
const adoreMatrix< T, 1, 0 > &  y 
)
inline

Member Function Documentation

◆ bound()

template<typename T >
virtual void adore::mad::LLinearPiecewiseFunctionS< T >::bound ( const DT xmin,
const DT xmax,
CT ymin,
CT ymax 
)
inlineoverridevirtual

bound function values in the x-range defined by the hypercube between corner points lower left xmin and upper right xmax

Implements adore::mad::ALFunction< T, T >.

Here is the call graph for this function:

◆ clone()

template<typename T >
virtual ALFunction<DT, CT>* adore::mad::LLinearPiecewiseFunctionS< T >::clone ( )
inlinevirtual

create a copy of child class object - is used for function operations

Implements adore::mad::ALFunction< T, T >.

◆ create_derivative()

template<typename T >
virtual ALFunction<DT, CT>* adore::mad::LLinearPiecewiseFunctionS< T >::create_derivative ( )
inlineoverridevirtual

create a new function object, which is the derivative function

Implements adore::mad::ALFunction< T, T >.

◆ f()

template<typename T >
virtual CT adore::mad::LLinearPiecewiseFunctionS< T >::f ( DT  x) const
inlineoverridevirtual

function evaluation returns y of codomain type CT for a value x of domain type DT

Implements adore::mad::ALFunction< T, T >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findIndex()

template<typename T >
unsigned int adore::mad::LLinearPiecewiseFunctionS< T >::findIndex ( DT  x) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ limitHi()

template<typename T >
virtual DT adore::mad::LLinearPiecewiseFunctionS< T >::limitHi ( ) const
inlineoverridevirtual

query upper limit of the domain

Implements adore::mad::ALFunction< T, T >.

Here is the caller graph for this function:

◆ limitLo()

template<typename T >
virtual DT adore::mad::LLinearPiecewiseFunctionS< T >::limitLo ( ) const
inlineoverridevirtual

lower limit of the domain

Implements adore::mad::ALFunction< T, T >.

Here is the caller graph for this function:

◆ setLimits()

template<typename T >
virtual void adore::mad::LLinearPiecewiseFunctionS< T >::setLimits ( DT  lo,
DT  hi 
)
inlinevirtual

reduce or increase the limit of the function, without changing y

Implements adore::mad::ALFunction< T, T >.

Member Data Documentation

◆ m_data

template<typename T >
adoreMatrix<T, 2, 0> adore::mad::LLinearPiecewiseFunctionS< T >::m_data
private

◆ m_searchIndex

template<typename T >
unsigned int adore::mad::LLinearPiecewiseFunctionS< T >::m_searchIndex
mutableprivate

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