Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

punnets_common::func_base Class Reference

#include <func.h>

Inheritance diagram for punnets_common::func_base:

punnets_common::func_const punnets_common::func_deriveq_base punnets_common::func_exp punnets_common::func_exp_diff punnets_common::func_sine punnets_common::func_sineshot punnets_common::func_step punnets_common::func_const_int punnets_common::func_delta_int punnets_common::func_exp_int punnets_common::func_response punnets_common::func_sine_int punnets_common::func_sineshot_int List of all members.

Public Methods

virtual bool shouldDelete (ntime_t)
 Return true if the function will return only zeros after the specified time.

virtual bool processMessage (ntime_t, const message_base &)
virtual void setLambda (real)
 Change leak value on a leaky integrate function. Redefined in func_deriveq_base.

virtual void setZeroPoint (real)
 Change zero point on a leaky integrate function. Redefined in func_deriveq_base.

virtual real getMaxGradient (ntime_t t) const=0
 A pure virtual function that returns the max gradient of the function after the time t.

virtual ntime_t getNextIncontinuity (ntime_t) const
virtual real getValue (ntime_t t) const=0
 A pure virtual function that returns f(t).

virtual real get1stDeriv (ntime_t t) const=0
 A pure virtual function that returns df(t)/dt.

virtual real get2ndDeriv (ntime_t t) const=0
 A pure virtual function that returns d2f(t)/dt2.

virtual void getValueDomain (ntime_t t, real &upslope, real &ceil, real &downslope, real &floor) const=0
 Obtains a zeroth-order linear envelope of the function. floor < f(t+&alpha;) < ceil, f(t)+&alpha;downslope < f(t+&alpha;) < f(t)+&alpha;upslope.

virtual void get1stDerivDomain (ntime_t t, real &upslope, real &ceil, real &downslope, real &floor) const=0
 Obtains a first--order linear envelope of the function. floor < f(t+&alpha;) < ceil, f(t)+&alpha;downslope < f(t+&alpha;) < f(t)+&alpha;upslope.

virtual void get2ndDerivDomain (ntime_t t, real &upslope, real &ceil, real &downslope, real &floor) const=0
 Obtains a second-order linear envelope of the function. floor < f(t+&alpha;) < ceil, f(t)+&alpha;downslope < f(t+&alpha;) < f(t)+&alpha;upslope.

virtual func_base * clone ()=0
 Allocates and returns another instance of this function.

virtual std::string getDescription ()=0
 Obtains a human-readable description string of this function.


Protected Methods

virtual void valueChange ()

Detailed Description

Abstract base class of a function.

A base class that represents a numerical function. Some functions needs a reference point to be calculated based on differential equation. Such a function is derived from func_deriveq_base, but func_base contains interface for such a function.

Definition at line 69 of file func.h.


Member Function Documentation

virtual ntime_t punnets_common::func_base::getNextIncontinuity ntime_t    const [inline, virtual]
 

A virtual function that returns the next incontinuity point after the time t. In func_base, the function always returns infinity.

Reimplemented in punnets_common::func_step, punnets_common::func_delta_int, punnets_common::func_response, punnets_common::func_sine, punnets_common::func_sineshot, punnets_common::func_exp, punnets_common::func_exp_int, and punnets_common::func_exp_diff.

Definition at line 96 of file func.h.

References punnets_common::ntime_t.

00096 { return mak::Infinity; };

virtual bool punnets_common::func_base::processMessage ntime_t   ,
const message_base  
[inline, virtual]
 

Process the specified message at the specified time. Return true if the message is processed. In func_base, this function always returns false (processes no message).

Reimplemented in punnets_common::func_deriveq_base, punnets_common::func_delta_int, punnets_common::func_sineshot, and punnets_common::func_exp_diff.

Definition at line 85 of file func.h.

References punnets_common::ntime_t.

00085 { return false; }

virtual void punnets_common::func_base::valueChange   [inline, protected, virtual]
 

An entrance to recalculate coefficient at the value change caused by some external factor. In func_base this function do nothing. This function will be defined in the derived classes with the requirement of the recalculation.

Definition at line 75 of file func.h.

Referenced by punnets_common::func_const_int::func_const_int(), punnets_common::func_delta_int::func_delta_int(), punnets_common::func_exp_diff::func_exp_diff(), punnets_common::func_exp_int::func_exp_int(), punnets_common::func_sine::func_sine(), punnets_common::func_sine_int::func_sine_int(), punnets_common::func_sineshot::func_sineshot(), punnets_common::func_sineshot_int::func_sineshot_int(), punnets_common::func_exp_diff::processMessage(), and punnets_common::func_deriveq_base::setLambda().

00075 { }


The documentation for this class was generated from the following file:
Generated on Mon Jun 16 15:42:27 2003 for Punnets by doxygen1.2.18