OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Attributes | List of all members
ossimMonom Class Reference

A monomial class to hold a monomial as a term. More...

#include <ossimTerm.h>

Inheritance diagram for ossimMonom:
ossimTerm

Public Member Functions

 ossimMonom (const ossim_float64 &coeffient, ossimTerm *variable, const ossim_float64 &exponential)
 Public Constructor. More...
 
 ossimMonom (const ossimMonom &src)
 Public Copy Constructor. More...
 
 ~ossimMonom ()
 Destroys the monomial. More...
 
ossim_float64 evaluate (std::vector< ossim_float64 > point) const
 Evaluates a monomial for a point. More...
 
ossimTermderivative (const ossim_uint32 &variable) const
 Calculates the derivative for a monomial. More...
 
ossim_uint32 getType () const
 Gets the type of a monomial. More...
 
ossimTermcopy () const
 Creates a copy of the monomial. More...
 
- Public Member Functions inherited from ossimTerm
virtual ~ossimTerm ()
 Virtual destructor for destroying tree from the top node. More...
 
ossim_float64 operator() (std::vector< ossim_float64 > point) const
 Evaluates the function for a point. More...
 
ossimTermoperator+ (ossimTerm *rhs) const
 Returns a copy of the two terms in a polynomial. More...
 
ossimTermoperator* (ossimTerm *rhs) const
 Returns a copy of the two terms in a product. More...
 

Private Attributes

ossim_float64 coef
 
ossimTermvar
 
ossim_float64 exp
 

Detailed Description

A monomial class to hold a monomial as a term.

Example (c_0 * x_0 ^ e_0)

Definition at line 112 of file ossimTerm.h.

Constructor & Destructor Documentation

◆ ossimMonom() [1/2]

ossimMonom::ossimMonom ( const ossim_float64 coeffient,
ossimTerm variable,
const ossim_float64 exponential 
)
inline

Public Constructor.

Parameters
[in]coeffientThe coeffient of the term
variableThe variable the variable number of the term
[in]exponentialThe exponential of the term

Definition at line 123 of file ossimTerm.h.

Referenced by copy(), and derivative().

123 : coef(coeffient), var(variable), exp(exponential) {}
ossim_float64 exp
Definition: ossimTerm.h:170
ossim_float64 coef
Definition: ossimTerm.h:168
ossimTerm * var
Definition: ossimTerm.h:169

◆ ossimMonom() [2/2]

ossimMonom::ossimMonom ( const ossimMonom src)
inline

Public Copy Constructor.

Parameters
[in]srcThe source to be copied

Definition at line 129 of file ossimTerm.h.

129 : coef(src.coef), var(src.var->copy()), exp(src.exp) {}
ossim_float64 exp
Definition: ossimTerm.h:170
ossim_float64 coef
Definition: ossimTerm.h:168
ossimTerm * var
Definition: ossimTerm.h:169
virtual ossimTerm * copy() const =0
Returns a pointer to a copy of the term.

◆ ~ossimMonom()

ossimMonom::~ossimMonom ( )
inline

Destroys the monomial.

Definition at line 133 of file ossimTerm.h.

133 { delete var; }
ossimTerm * var
Definition: ossimTerm.h:169

Member Function Documentation

◆ copy()

ossimTerm * ossimMonom::copy ( ) const
virtual

Creates a copy of the monomial.

Returns
A pointer to a copy of the monomial

Implements ossimTerm.

Definition at line 65 of file ossimTerm.cpp.

References coef, ossimTerm::copy(), exp, ossimMonom(), and var.

65  {
66  return new ossimMonom(coef, var->copy(), exp);
67 }
ossim_float64 exp
Definition: ossimTerm.h:170
ossim_float64 coef
Definition: ossimTerm.h:168
ossimTerm * var
Definition: ossimTerm.h:169
ossimMonom(const ossim_float64 &coeffient, ossimTerm *variable, const ossim_float64 &exponential)
Public Constructor.
Definition: ossimTerm.h:123
virtual ossimTerm * copy() const =0
Returns a pointer to a copy of the term.

◆ derivative()

ossimTerm * ossimMonom::derivative ( const ossim_uint32 variable) const
virtual

Calculates the derivative for a monomial.

OSSIM MONOMIAL AS A TERM.

Parameters
[in]variableThe variable in which the derivative is with respect too.
Returns
A pointer to that contains the derivative of the term.

Calculates the derivative for a monomial

Parameters
[in]variableThe variable in which the derivative is with respect too.
Returns
A pointer to that contains the derivative of the term.

Implements ossimTerm.

Definition at line 55 of file ossimTerm.cpp.

References coef, ossimTerm::derivative(), exp, ossimMonom(), var, and variable.

55  {
56  return new ossimMonom(coef*exp, var->derivative(variable), exp-1);
57 }
virtual ossimTerm * derivative(const ossim_uint32 &variable) const =0
Calculates the derivative of the term.
ossim_float64 exp
Definition: ossimTerm.h:170
ossim_float64 coef
Definition: ossimTerm.h:168
ossimTerm * var
Definition: ossimTerm.h:169
ossimMonom(const ossim_float64 &coeffient, ossimTerm *variable, const ossim_float64 &exponential)
Public Constructor.
Definition: ossimTerm.h:123

◆ evaluate()

ossim_float64 ossimMonom::evaluate ( std::vector< ossim_float64 point) const
inlinevirtual

Evaluates a monomial for a point.

Parameters
[in]pointThe point to be evaluated
Returns
The value at a point.

Implements ossimTerm.

Definition at line 143 of file ossimTerm.h.

143 { return (coef * pow(var->evaluate(point), exp)); }
ossim_float64 exp
Definition: ossimTerm.h:170
virtual ossim_float64 evaluate(std::vector< ossim_float64 >) const =0
Evaluates a term at a given point PURE VIRTUAL.
ossim_float64 coef
Definition: ossimTerm.h:168
ossimTerm * var
Definition: ossimTerm.h:169

◆ getType()

ossim_uint32 ossimMonom::getType ( ) const
inlinevirtual

Gets the type of a monomial.

Returns
The type of a monomial

Implements ossimTerm.

Definition at line 159 of file ossimTerm.h.

References monomial.

159 { return termType::monomial; }

Member Data Documentation

◆ coef

ossim_float64 ossimMonom::coef
private

Definition at line 168 of file ossimTerm.h.

Referenced by copy(), and derivative().

◆ exp

ossim_float64 ossimMonom::exp
private

Definition at line 170 of file ossimTerm.h.

Referenced by copy(), and derivative().

◆ var

ossimTerm* ossimMonom::var
private

Definition at line 169 of file ossimTerm.h.

Referenced by copy(), and derivative().


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