Public Types | Public Member Functions | Private Attributes | List of all members
PLMD::lepton::Operation Class Referenceabstract

An Operation represents a single step in the evaluation of an expression, such as a function, an operator, or a constant value. More...

#include <Operation.h>

Inheritance diagram for PLMD::lepton::Operation:
Inheritance graph
[legend]

Public Types

enum  Id {
  CONSTANT, VARIABLE, CUSTOM, ADD,
  SUBTRACT, MULTIPLY, DIVIDE, POWER,
  NEGATE, SQRT, EXP, LOG,
  SIN, COS, SEC, CSC,
  TAN, COT, ASIN, ACOS,
  ATAN, SINH, COSH, TANH,
  ERF, ERFC, STEP, DELTA,
  SQUARE, CUBE, RECIPROCAL, ADD_CONSTANT,
  MULTIPLY_CONSTANT, POWER_CONSTANT, MIN, MAX,
  ABS, FLOOR, CEIL, SELECT
}
 This enumeration lists all Operation subclasses. More...
 

Public Member Functions

virtual ~Operation ()
 
virtual std::string getName () const =0
 Get the name of this Operation. More...
 
virtual Id getId () const =0
 Get this Operation's ID. More...
 
virtual int getNumArguments () const =0
 Get the number of arguments this operation expects. More...
 
virtual Operationclone () const =0
 Create a clone of this Operation. More...
 
virtual double evaluate (double *args, const std::map< std::string, double > &variables) const =0
 Perform the computation represented by this operation. More...
 
virtual ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const =0
 Return an ExpressionTreeNode which represents the analytic derivative of this Operation with respect to a variable. More...
 
virtual bool isInfixOperator () const
 Get whether this operation should be displayed with infix notation. More...
 
virtual bool isSymmetric () const
 Get whether this is a symmetric binary operation, such that exchanging its arguments does not affect the result. More...
 
virtual bool operator!= (const Operation &op) const
 
virtual bool operator== (const Operation &op) const
 
 Constant (double value)
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
double getValue () const
 
bool operator!= (const Operation &op) const
 
 Variable (const std::string &name)
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool operator!= (const Operation &op) const
 
 Custom (const std::string &name, CustomFunction *function)
 
 Custom (const Custom &base, int derivIndex)
 
 ~Custom ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
const std::vector< int > & getDerivOrder () const
 
bool operator!= (const Operation &op) const
 
 Add ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool isInfixOperator () const
 
bool isSymmetric () const
 
 Subtract ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool isInfixOperator () const
 
 Multiply ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool isInfixOperator () const
 
bool isSymmetric () const
 
 Divide ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool isInfixOperator () const
 
 Power ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
bool isInfixOperator () const
 
 Negate ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Sqrt ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Exp ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Log ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Sin ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Cos ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Sec ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Csc ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Tan ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Cot ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Asin ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Acos ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Atan ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Sinh ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Cosh ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Tanh ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Erf ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Erfc ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Step ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Delta ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Square ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Cube ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Reciprocal ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 AddConstant (double value)
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
double getValue () const
 
bool operator!= (const Operation &op) const
 
 MultiplyConstant (double value)
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
double getValue () const
 
bool operator!= (const Operation &op) const
 
 PowerConstant (double value)
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
double getValue () const
 
bool operator!= (const Operation &op) const
 
bool isInfixOperator () const
 
 Min ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Max ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Abs ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Floor ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Ceil ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 
 Select ()
 
std::string getName () const
 
Id getId () const
 
int getNumArguments () const
 
Operationclone () const
 
double evaluate (double *args, const std::map< std::string, double > &variables) const
 
ExpressionTreeNode differentiate (const std::vector< ExpressionTreeNode > &children, const std::vector< ExpressionTreeNode > &childDerivs, const std::string &variable) const
 

Private Attributes

double value
 
std::string name
 
CustomFunctionfunction
 
bool isDerivative
 
std::vector< int > derivOrder
 
int intValue
 
bool isIntPower
 

Detailed Description

An Operation represents a single step in the evaluation of an expression, such as a function, an operator, or a constant value.

Each Operation takes some number of values as arguments and produces a single value.

This is an abstract class with subclasses for specific operations.

Member Enumeration Documentation

◆ Id

This enumeration lists all Operation subclasses.

This is provided so that switch statements can be used when processing or analyzing parsed expressions.

Enumerator
CONSTANT 
VARIABLE 
CUSTOM 
ADD 
SUBTRACT 
MULTIPLY 
DIVIDE 
POWER 
NEGATE 
SQRT 
EXP 
LOG 
SIN 
COS 
SEC 
CSC 
TAN 
COT 
ASIN 
ACOS 
ATAN 
SINH 
COSH 
TANH 
ERF 
ERFC 
STEP 
DELTA 
SQUARE 
CUBE 
RECIPROCAL 
ADD_CONSTANT 
MULTIPLY_CONSTANT 
POWER_CONSTANT 
MIN 
MAX 
ABS 
FLOOR 
CEIL 
SELECT 

Constructor & Destructor Documentation

◆ ~Operation()

virtual PLMD::lepton::Operation::~Operation ( )
inlinevirtual

◆ ~Custom()

PLMD::lepton::Operation::~Custom ( )
inline

Member Function Documentation

◆ Abs()

PLMD::lepton::Operation::Abs ( )
inline

◆ Acos()

PLMD::lepton::Operation::Acos ( )
inline

◆ Add()

PLMD::lepton::Operation::Add ( )
inline

◆ AddConstant()

PLMD::lepton::Operation::AddConstant ( double  value)
inline

◆ Asin()

PLMD::lepton::Operation::Asin ( )
inline

◆ Atan()

PLMD::lepton::Operation::Atan ( )
inline

◆ Ceil()

PLMD::lepton::Operation::Ceil ( )
inline

◆ clone() [1/41]

virtual Operation* PLMD::lepton::Operation::clone ( ) const
pure virtual

Create a clone of this Operation.

◆ clone() [2/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [3/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [4/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [5/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [6/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [7/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [8/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [9/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [10/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [11/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [12/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [13/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [14/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [15/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [16/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [17/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [18/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [19/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [20/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [21/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [22/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [23/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [24/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [25/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [26/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [27/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [28/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [29/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [30/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [31/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [32/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [33/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [34/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [35/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [36/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [37/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [38/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [39/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [40/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ clone() [41/41]

Operation* PLMD::lepton::Operation::clone ( ) const
inline

◆ Constant()

PLMD::lepton::Operation::Constant ( double  value)
inline

◆ Cos()

PLMD::lepton::Operation::Cos ( )
inline

◆ Cosh()

PLMD::lepton::Operation::Cosh ( )
inline

◆ Cot()

PLMD::lepton::Operation::Cot ( )
inline

◆ Csc()

PLMD::lepton::Operation::Csc ( )
inline

◆ Cube()

PLMD::lepton::Operation::Cube ( )
inline

◆ Custom() [1/2]

PLMD::lepton::Operation::Custom ( const std::string &  name,
CustomFunction function 
)
inline

◆ Custom() [2/2]

PLMD::lepton::Operation::Custom ( const Custom &  base,
int  derivIndex 
)
inline

◆ Delta()

PLMD::lepton::Operation::Delta ( )
inline

◆ differentiate() [1/41]

virtual ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const
pure virtual

Return an ExpressionTreeNode which represents the analytic derivative of this Operation with respect to a variable.

Parameters
childrenthe child nodes
childDerivsthe derivatives of the child nodes with respect to the variable
variablethe variable with respect to which the derivate should be taken

◆ differentiate() [2/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [3/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [4/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [5/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [6/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [7/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [8/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [9/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [10/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [11/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [12/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [13/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [14/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [15/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [16/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [17/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [18/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [19/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [20/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [21/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [22/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [23/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [24/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [25/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [26/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [27/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [28/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [29/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [30/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [31/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [32/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [33/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [34/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [35/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [36/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [37/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [38/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [39/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [40/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ differentiate() [41/41]

ExpressionTreeNode PLMD::lepton::Operation::differentiate ( const std::vector< ExpressionTreeNode > &  children,
const std::vector< ExpressionTreeNode > &  childDerivs,
const std::string &  variable 
) const

◆ Divide()

PLMD::lepton::Operation::Divide ( )
inline

◆ Erf()

PLMD::lepton::Operation::Erf ( )
inline

◆ Erfc()

PLMD::lepton::Operation::Erfc ( )
inline

◆ evaluate() [1/41]

virtual double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
pure virtual

Perform the computation represented by this operation.

Parameters
argsthe array of arguments
variablesa map containing the values of all variables
Returns
the result of performing the computation.

◆ evaluate() [2/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [3/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [4/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [5/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [6/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [7/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [8/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [9/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [10/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [11/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [12/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [13/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [14/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [15/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [16/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [17/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [18/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [19/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [20/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [21/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [22/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [23/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [24/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [25/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [26/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const

◆ evaluate() [27/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const

◆ evaluate() [28/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [29/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [30/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [31/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [32/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [33/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [34/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [35/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [36/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [37/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [38/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [39/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [40/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ evaluate() [41/41]

double PLMD::lepton::Operation::evaluate ( double *  args,
const std::map< std::string, double > &  variables 
) const
inline

◆ Exp()

PLMD::lepton::Operation::Exp ( )
inline

◆ Floor()

PLMD::lepton::Operation::Floor ( )
inline

◆ getDerivOrder()

const std::vector<int>& PLMD::lepton::Operation::getDerivOrder ( ) const
inline

◆ getId() [1/41]

virtual Id PLMD::lepton::Operation::getId ( ) const
pure virtual

Get this Operation's ID.

◆ getId() [2/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [3/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [4/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [5/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [6/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [7/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [8/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [9/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [10/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [11/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [12/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [13/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [14/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [15/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [16/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [17/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [18/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [19/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [20/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [21/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [22/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [23/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [24/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [25/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [26/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [27/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [28/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [29/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [30/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [31/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [32/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [33/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [34/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [35/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [36/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [37/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [38/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [39/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [40/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getId() [41/41]

Id PLMD::lepton::Operation::getId ( ) const
inline

◆ getName() [1/41]

virtual std::string PLMD::lepton::Operation::getName ( ) const
pure virtual

Get the name of this Operation.

◆ getName() [2/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [3/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [4/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [5/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [6/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [7/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [8/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [9/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [10/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [11/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [12/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [13/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [14/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [15/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [16/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [17/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [18/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [19/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [20/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [21/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [22/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [23/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [24/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [25/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [26/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [27/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [28/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [29/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [30/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [31/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [32/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [33/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [34/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [35/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [36/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [37/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [38/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [39/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [40/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getName() [41/41]

std::string PLMD::lepton::Operation::getName ( ) const
inline

◆ getNumArguments() [1/41]

virtual int PLMD::lepton::Operation::getNumArguments ( ) const
pure virtual

Get the number of arguments this operation expects.

◆ getNumArguments() [2/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [3/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [4/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [5/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [6/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [7/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [8/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [9/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [10/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [11/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [12/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [13/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [14/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [15/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [16/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [17/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [18/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [19/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [20/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [21/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [22/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [23/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [24/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [25/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [26/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [27/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [28/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [29/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [30/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [31/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [32/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [33/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [34/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [35/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [36/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [37/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [38/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [39/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [40/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getNumArguments() [41/41]

int PLMD::lepton::Operation::getNumArguments ( ) const
inline

◆ getValue() [1/4]

double PLMD::lepton::Operation::getValue ( ) const
inline

◆ getValue() [2/4]

double PLMD::lepton::Operation::getValue ( ) const
inline

◆ getValue() [3/4]

double PLMD::lepton::Operation::getValue ( ) const
inline

◆ getValue() [4/4]

double PLMD::lepton::Operation::getValue ( ) const
inline

◆ isInfixOperator() [1/7]

virtual bool PLMD::lepton::Operation::isInfixOperator ( ) const
inlinevirtual

Get whether this operation should be displayed with infix notation.

◆ isInfixOperator() [2/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isInfixOperator() [3/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isInfixOperator() [4/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isInfixOperator() [5/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isInfixOperator() [6/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isInfixOperator() [7/7]

bool PLMD::lepton::Operation::isInfixOperator ( ) const
inline

◆ isSymmetric() [1/3]

virtual bool PLMD::lepton::Operation::isSymmetric ( ) const
inlinevirtual

Get whether this is a symmetric binary operation, such that exchanging its arguments does not affect the result.

◆ isSymmetric() [2/3]

bool PLMD::lepton::Operation::isSymmetric ( ) const
inline

◆ isSymmetric() [3/3]

bool PLMD::lepton::Operation::isSymmetric ( ) const
inline

◆ Log()

PLMD::lepton::Operation::Log ( )
inline

◆ Max()

PLMD::lepton::Operation::Max ( )
inline

◆ Min()

PLMD::lepton::Operation::Min ( )
inline

◆ Multiply()

PLMD::lepton::Operation::Multiply ( )
inline

◆ MultiplyConstant()

PLMD::lepton::Operation::MultiplyConstant ( double  value)
inline

◆ Negate()

PLMD::lepton::Operation::Negate ( )
inline

◆ operator!=() [1/7]

virtual bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inlinevirtual

◆ operator!=() [2/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator!=() [3/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator!=() [4/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator!=() [5/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator!=() [6/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator!=() [7/7]

bool PLMD::lepton::Operation::operator!= ( const Operation op) const
inline

◆ operator==()

virtual bool PLMD::lepton::Operation::operator== ( const Operation op) const
inlinevirtual

◆ Power()

PLMD::lepton::Operation::Power ( )
inline

◆ PowerConstant()

PLMD::lepton::Operation::PowerConstant ( double  value)
inline

◆ Reciprocal()

PLMD::lepton::Operation::Reciprocal ( )
inline

◆ Sec()

PLMD::lepton::Operation::Sec ( )
inline

◆ Select()

PLMD::lepton::Operation::Select ( )
inline

◆ Sin()

PLMD::lepton::Operation::Sin ( )
inline

◆ Sinh()

PLMD::lepton::Operation::Sinh ( )
inline

◆ Sqrt()

PLMD::lepton::Operation::Sqrt ( )
inline

◆ Square()

PLMD::lepton::Operation::Square ( )
inline

◆ Step()

PLMD::lepton::Operation::Step ( )
inline

◆ Subtract()

PLMD::lepton::Operation::Subtract ( )
inline

◆ Tan()

PLMD::lepton::Operation::Tan ( )
inline

◆ Tanh()

PLMD::lepton::Operation::Tanh ( )
inline

◆ Variable()

PLMD::lepton::Operation::Variable ( const std::string &  name)
inline

Member Data Documentation

◆ derivOrder

std::vector<int> PLMD::lepton::Operation::derivOrder
private

◆ function

CustomFunction* PLMD::lepton::Operation::function
private

◆ intValue

int PLMD::lepton::Operation::intValue
private

◆ isDerivative

bool PLMD::lepton::Operation::isDerivative
private

◆ isIntPower

bool PLMD::lepton::Operation::isIntPower
private

◆ name

std::string PLMD::lepton::Operation::name
private

◆ value

double PLMD::lepton::Operation::value
private

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