Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
PiecewiseFunction Class Reference

Several functions stiched together. More...

#include <PolynomialEvolution.h>

+ Inheritance diagram for PiecewiseFunction:
+ Collaboration diagram for PiecewiseFunction:

Public Member Functions

 PiecewiseFunction (const std::list< const OneArgumentDiffFunction *> &pieces=std::list< const OneArgumentDiffFunction *>(), double deriv_x=Core::NaN)
 Create the function. More...
 
void add_piece (const OneArgumentDiffFunction *piece)
 Adds another piece of the function, where it applies is defined by its range. More...
 
double operator() (double x) const
 Evaluates the function at the given x. More...
 
const FunctionDerivatives * deriv (double x) const
 Returns the derivatives at the given x. More...
 
double order (unsigned deriv_order=1) const
 For a derivative object returns the derivative of the given order. More...
 
double range_high () const
 The upper end of the range over which the function is defined. More...
 
double range_low () const
 The lower end of the range over which the function is defined. More...
 
Core::InterpSolutionIterator crossings (double) const
 An iterator over the x values where the function takes the given value. More...
 
- Public Member Functions inherited from Core::OneArgumentFunction< double, double >
virtual ~OneArgumentFunction ()
 Provide a virtual destructor for a virtual class. More...
 

Private Attributes

double __deriv_x
 
double __range_low
 
double __range_high
 
std::list< const OneArgumentDiffFunction * > __pieces
 

Additional Inherited Members

- Private Member Functions inherited from Core::FunctionDerivatives
virtual ~FunctionDerivatives ()
 Clean up. More...
 

Detailed Description

Several functions stiched together.

Definition at line 477 of file PolynomialEvolution.h.

Constructor & Destructor Documentation

◆ PiecewiseFunction()

PiecewiseFunction::PiecewiseFunction ( const std::list< const OneArgumentDiffFunction *> &  pieces = std::list<const OneArgumentDiffFunction *>(),
double  deriv_x = Core::NaN 
)

Create the function.

Definition at line 449 of file PolynomialEvolution.cpp.

Member Function Documentation

◆ add_piece()

void PiecewiseFunction::add_piece ( const OneArgumentDiffFunction *  piece)

Adds another piece of the function, where it applies is defined by its range.

Definition at line 471 of file PolynomialEvolution.cpp.

◆ crossings()

Core::InterpSolutionIterator PiecewiseFunction::crossings ( double  ) const
inlinevirtual

An iterator over the x values where the function takes the given value.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 510 of file PolynomialEvolution.h.

◆ deriv()

const FunctionDerivatives* PiecewiseFunction::deriv ( double  x) const
inlinevirtual

Returns the derivatives at the given x.

Implements Core::OneArgumentDiffFunction.

Definition at line 496 of file PolynomialEvolution.h.

◆ operator()()

double PiecewiseFunction::operator() ( double  x) const
virtual

Evaluates the function at the given x.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 480 of file PolynomialEvolution.cpp.

◆ order()

double PiecewiseFunction::order ( unsigned  deriv_order = 1) const
virtual

For a derivative object returns the derivative of the given order.

Implements Core::FunctionDerivatives.

Definition at line 489 of file PolynomialEvolution.cpp.

◆ range_high()

double PiecewiseFunction::range_high ( ) const
inlinevirtual

The upper end of the range over which the function is defined.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 503 of file PolynomialEvolution.h.

◆ range_low()

double PiecewiseFunction::range_low ( ) const
inlinevirtual

The lower end of the range over which the function is defined.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 506 of file PolynomialEvolution.h.


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