Jpp
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t > Class Template Referenceabstract

Functional map with spline interpolation. More...

#include <JHermiteSpline.hh>

Inheritance diagram for JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >:
JTOOLS::JFunction< JKey_t, JResult_t > JTOOLS::JFunctional< JKey_t, JResult_t >

Public Types

typedef JMap_t< JKey_t, JValue_t, JDistance_t > collection_type
 
typedef JFunction< JKey_t, JResult_t > function_type
 
typedef collection_type::abscissa_type abscissa_type
 
typedef collection_type::ordinate_type ordinate_type
 
typedef collection_type::value_type value_type
 
typedef collection_type::distance_type distance_type
 
typedef collection_type::const_iterator const_iterator
 
typedef collection_type::const_reverse_iterator const_reverse_iterator
 
typedef collection_type::iterator iterator
 
typedef collection_type::reverse_iterator reverse_iterator
 
typedef function_type::argument_type argument_type
 
typedef function_type::result_type result_type
 
typedef function_type::JExceptionHandler exceptionhandler_type
 
typedef JResultType< ordinate_type >::result_type data_type
 
typedef JHermiteSplineFunction1D< JSplineElement2D< argument_type, data_type >, JMapCollection< JMap_t >::template collection_type, result_typeJHermiteSplineFunction1D_t
 
typedef JFunctional< JKey_t, JResult_t > functional_type
 
typedef JSupervisor supervisor_type
 

Public Member Functions

 JHermiteSplineMap ()
 Default constructor. More...
 
virtual result_type evaluate (const argument_type *pX) const
 Recursive interpolation method implementation. More...
 
virtual result_type evaluate (const argument_type *pX) const=0
 Recursive function value evaluation. More...
 
JSupervisor getSupervisor () const
 Get supervisor. More...
 
const JExceptionHandler & getExceptionHandler () const
 Get exception handler. More...
 
void setExceptionHandler (const JSupervisor &supervisor)
 Set the supervisor for handling of exceptions. More...
 

Static Public Member Functions

static result_type getValue (const JFunctional &function, const argument_type *pX)
 Recursive function value evaluation. More...
 
static JClass< result_type >::argument_type getValue (typename JClass< result_type >::argument_type value, const argument_type *pX)
 Termination of recursive function value evaluation. More...
 

Protected Attributes

JSupervisor supervisor
 

Private Member Functions

virtual void do_compile ()
 Function compilation. More...
 

Private Attributes

JHermiteSplineFunction1D_t buffer
 

Detailed Description

template<class JKey_t, class JValue_t, template< class, class, class > class JMap_t, class JResult_t, class JDistance_t = JDistance<JKey_t>>
class JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >

Functional map with spline interpolation.

Definition at line 550 of file JHermiteSpline.hh.

Member Typedef Documentation

◆ collection_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef JMap_t<JKey_t, JValue_t, JDistance_t> JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::collection_type

Definition at line 556 of file JHermiteSpline.hh.

◆ function_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef JFunction<JKey_t, JResult_t> JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::function_type

Definition at line 557 of file JHermiteSpline.hh.

◆ abscissa_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::abscissa_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::abscissa_type

Definition at line 559 of file JHermiteSpline.hh.

◆ ordinate_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::ordinate_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::ordinate_type

Definition at line 560 of file JHermiteSpline.hh.

◆ value_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::value_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::value_type

Definition at line 561 of file JHermiteSpline.hh.

◆ distance_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::distance_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::distance_type

Definition at line 562 of file JHermiteSpline.hh.

◆ const_iterator

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::const_iterator JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::const_iterator

Definition at line 564 of file JHermiteSpline.hh.

◆ const_reverse_iterator

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::const_reverse_iterator JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::const_reverse_iterator

Definition at line 565 of file JHermiteSpline.hh.

◆ iterator

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::iterator JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::iterator

Definition at line 566 of file JHermiteSpline.hh.

◆ reverse_iterator

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef collection_type::reverse_iterator JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::reverse_iterator

Definition at line 567 of file JHermiteSpline.hh.

◆ argument_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef function_type::argument_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::argument_type

Definition at line 569 of file JHermiteSpline.hh.

◆ result_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef function_type::result_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::result_type

Definition at line 570 of file JHermiteSpline.hh.

◆ exceptionhandler_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef function_type::JExceptionHandler JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::exceptionhandler_type

Definition at line 571 of file JHermiteSpline.hh.

◆ data_type

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef JResultType<ordinate_type>::result_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::data_type

Definition at line 573 of file JHermiteSpline.hh.

◆ JHermiteSplineFunction1D_t

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
typedef JHermiteSplineFunction1D<JSplineElement2D<argument_type, data_type>, JMapCollection<JMap_t>::template collection_type, result_type> JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::JHermiteSplineFunction1D_t

Definition at line 576 of file JHermiteSpline.hh.

◆ functional_type

typedef JFunctional<JKey_t , JResult_t> JTOOLS::JFunction< JKey_t , JResult_t >::functional_type
inherited

Definition at line 306 of file JFunctional.hh.

◆ supervisor_type

typedef JSupervisor JTOOLS::JFunctional< JKey_t , JResult_t >::supervisor_type
inherited

Definition at line 89 of file JFunctional.hh.

Constructor & Destructor Documentation

◆ JHermiteSplineMap()

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::JHermiteSplineMap ( )
inline

Default constructor.

Definition at line 582 of file JHermiteSpline.hh.

583  {}

Member Function Documentation

◆ evaluate() [1/2]

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
virtual result_type JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::evaluate ( const argument_type pX) const
inlinevirtual

Recursive interpolation method implementation.

Parameters
pXpointer to abscissa values
Returns
function value

Definition at line 592 of file JHermiteSpline.hh.

593  {
594  const argument_type x = *pX;
595 
596  ++pX; // next argument value
597 
598  const_iterator p = this->begin();
599 
600  for (typename JHermiteSplineFunction1D_t::iterator q = buffer.begin(); q != buffer.end(); ++q, ++p) {
601  q->getY() = JFunction<argument_type, data_type>::getValue(p->getY(), pX);
602  }
603 
604  buffer.compile();
605 
606  return buffer(x);
607  }

◆ do_compile()

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
virtual void JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::do_compile ( )
inlineprivatevirtual

Function compilation.

Definition at line 614 of file JHermiteSpline.hh.

615  {
616  buffer.clear();
617 
618  for (iterator i = this->begin(); i != this->end(); ++i) {
619  buffer.put(i->getX(), data_type());
620  }
621  }

◆ evaluate() [2/2]

virtual result_type JTOOLS::JFunctional< JKey_t , JResult_t >::evaluate ( const argument_type pX) const
pure virtualinherited

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

◆ getValue() [1/2]

static result_type JTOOLS::JFunctional< JKey_t , JResult_t >::getValue ( const JFunctional< JKey_t, JResult_t > &  function,
const argument_type pX 
)
inlinestaticinherited

Recursive function value evaluation.

Parameters
functionfunction
pXpointer to abscissa values

Definition at line 107 of file JFunctional.hh.

109  {
110  return function.evaluate(pX);
111  }

◆ getValue() [2/2]

static JClass<result_type>::argument_type JTOOLS::JFunctional< JKey_t , JResult_t >::getValue ( typename JClass< result_type >::argument_type  value,
const argument_type pX 
)
inlinestaticinherited

Termination of recursive function value evaluation.

Parameters
valueresult
pXpointer to abscissa values

Definition at line 121 of file JFunctional.hh.

123  {
124  return value;
125  }

◆ getSupervisor()

JSupervisor JTOOLS::JFunctional< JKey_t , JResult_t >::getSupervisor ( ) const
inlineinherited

Get supervisor.

Returns
supervisor

Definition at line 266 of file JFunctional.hh.

267  {
268  return supervisor;
269  }

◆ getExceptionHandler()

const JExceptionHandler& JTOOLS::JFunctional< JKey_t , JResult_t >::getExceptionHandler ( ) const
inlineinherited

Get exception handler.

Returns
exception handler

Definition at line 277 of file JFunctional.hh.

278  {
279  return *supervisor;
280  }

◆ setExceptionHandler()

void JTOOLS::JFunctional< JKey_t , JResult_t >::setExceptionHandler ( const JSupervisor &  supervisor)
inlineinherited

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 288 of file JFunctional.hh.

289  {
290  this->supervisor = supervisor;
291  }

Member Data Documentation

◆ buffer

template<class JKey_t , class JValue_t , template< class, class, class > class JMap_t, class JResult_t , class JDistance_t = JDistance<JKey_t>>
JHermiteSplineFunction1D_t JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >::buffer
mutableprivate

Definition at line 624 of file JHermiteSpline.hh.

◆ supervisor

JSupervisor JTOOLS::JFunctional< JKey_t , JResult_t >::supervisor
protectedinherited

Definition at line 295 of file JFunctional.hh.


The documentation for this class was generated from the following file:
JTOOLS::JFunctional< JKey_t, JResult_t >::supervisor
JSupervisor supervisor
Definition: JFunctional.hh:295
std::iterator
Definition: JSTDTypes.hh:18
JTOOLS::pX
pX
Definition: JPolint.hh:625
JTOOLS::JFunctional::getValue
static result_type getValue(const JFunctional &function, const argument_type *pX)
Recursive function value evaluation.
Definition: JFunctional.hh:107
JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< argument_type, data_type >, JMapCollection< JMap_t >::template collection_type, result_type >::iterator
collection_type::iterator iterator
Definition: JHermiteSpline.hh:524
JTOOLS::JHermiteSplineMap::buffer
JHermiteSplineFunction1D_t buffer
Definition: JHermiteSpline.hh:624
JTOOLS::JHermiteSplineMap::argument_type
function_type::argument_type argument_type
Definition: JHermiteSpline.hh:569
JTOOLS::JHermiteSplineMap::data_type
JResultType< ordinate_type >::result_type data_type
Definition: JHermiteSpline.hh:573
JTOOLS::JHermiteSplineMap::const_iterator
collection_type::const_iterator const_iterator
Definition: JHermiteSpline.hh:564