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>

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, ATAN2, SINH, COSH,
  TANH, ERF, ERFC, STEP,
  DELTA, NANDELTA, SQUARE, CUBE,
  RECIPROCAL, ADD_CONSTANT, MULTIPLY_CONSTANT, POWER_CONSTANT,
  MIN, MAX, ABS, FLOOR,
  CEIL, SELECT, ACOT, ASEC,
  ACSC, COTH, SECH, CSCH,
  ASINH, ACOSH, ATANH, ACOTH,
  ASECH, ACSCH
}
 This enumeration lists all Operation subclasses. More...
 

Public Member Functions

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

Private Attributes

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

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 
ATAN2 
SINH 
COSH 
TANH 
ERF 
ERFC 
STEP 
DELTA 
NANDELTA 
SQUARE 
CUBE 
RECIPROCAL 
ADD_CONSTANT 
MULTIPLY_CONSTANT 
POWER_CONSTANT 
MIN 
MAX 
ABS 
FLOOR 
CEIL 
SELECT 
ACOT 
ASEC 
ACSC 
COTH 
SECH 
CSCH 
ASINH 
ACOSH 
ATANH 
ACOTH 
ASECH 
ACSCH 

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

◆ Atan2()

PLMD::lepton::Operation::Atan2 ( )
inline

◆ Ceil()

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

◆ clone() [1/43]

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

◆ clone() [2/43]

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

◆ clone() [3/43]

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

◆ clone() [4/43]

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

◆ clone() [5/43]

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

◆ clone() [6/43]

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

◆ clone() [7/43]

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

◆ clone() [8/43]

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

◆ clone() [9/43]

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

◆ clone() [10/43]

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

◆ clone() [11/43]

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

◆ clone() [12/43]

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

◆ clone() [13/43]

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

◆ clone() [14/43]

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

◆ clone() [15/43]

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

◆ clone() [16/43]

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

◆ clone() [17/43]

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

◆ clone() [18/43]

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

◆ clone() [19/43]

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

◆ clone() [20/43]

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

◆ clone() [21/43]

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

◆ clone() [22/43]

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

◆ clone() [23/43]

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

◆ clone() [24/43]

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

◆ clone() [25/43]

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

◆ clone() [26/43]

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

◆ clone() [27/43]

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

◆ clone() [28/43]

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

◆ clone() [29/43]

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

◆ clone() [30/43]

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

◆ clone() [31/43]

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

◆ clone() [32/43]

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

◆ clone() [33/43]

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

◆ clone() [34/43]

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

◆ clone() [35/43]

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

◆ clone() [36/43]

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

◆ clone() [37/43]

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

◆ clone() [38/43]

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

◆ clone() [39/43]

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

◆ clone() [40/43]

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

◆ clone() [41/43]

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

◆ clone() [42/43]

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

◆ clone() [43/43]

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

Create a clone of this Operation.

◆ 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/3]

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

◆ Custom() [2/3]

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

◆ Custom() [3/3]

PLMD::lepton::Operation::Custom ( const std::string &  name,
CustomFunction function,
const std::vector< int > &  derivOrder 
)
inline

◆ Delta()

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

◆ differentiate() [1/43]

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

◆ differentiate() [2/43]

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

◆ differentiate() [3/43]

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

◆ differentiate() [4/43]

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

◆ differentiate() [5/43]

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

◆ differentiate() [6/43]

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

◆ differentiate() [7/43]

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

◆ differentiate() [8/43]

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

◆ differentiate() [9/43]

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

◆ differentiate() [10/43]

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

◆ differentiate() [11/43]

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

◆ differentiate() [12/43]

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

◆ differentiate() [13/43]

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

◆ differentiate() [14/43]

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

◆ differentiate() [15/43]

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

◆ differentiate() [16/43]

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

◆ differentiate() [17/43]

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

◆ differentiate() [18/43]

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

◆ differentiate() [19/43]

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

◆ differentiate() [20/43]

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

◆ differentiate() [21/43]

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

◆ differentiate() [22/43]

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

◆ differentiate() [23/43]

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

◆ differentiate() [24/43]

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

◆ differentiate() [25/43]

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

◆ differentiate() [26/43]

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

◆ differentiate() [27/43]

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

◆ differentiate() [28/43]

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

◆ differentiate() [29/43]

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

◆ differentiate() [30/43]

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

◆ differentiate() [31/43]

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

◆ differentiate() [32/43]

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

◆ differentiate() [33/43]

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

◆ differentiate() [34/43]

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

◆ differentiate() [35/43]

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

◆ differentiate() [36/43]

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

◆ differentiate() [37/43]

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

◆ differentiate() [38/43]

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

◆ differentiate() [39/43]

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

◆ differentiate() [40/43]

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

◆ differentiate() [41/43]

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

◆ differentiate() [42/43]

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

◆ differentiate() [43/43]

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

◆ Divide()

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

◆ Erf()

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

◆ Erfc()

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

◆ evaluate() [1/43]

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

◆ evaluate() [2/43]

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

◆ evaluate() [3/43]

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

◆ evaluate() [4/43]

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

◆ evaluate() [5/43]

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

◆ evaluate() [6/43]

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

◆ evaluate() [7/43]

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

◆ evaluate() [8/43]

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

◆ evaluate() [9/43]

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

◆ evaluate() [10/43]

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

◆ evaluate() [11/43]

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

◆ evaluate() [12/43]

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

◆ evaluate() [13/43]

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

◆ evaluate() [14/43]

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

◆ evaluate() [15/43]

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

◆ evaluate() [16/43]

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

◆ evaluate() [17/43]

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

◆ evaluate() [18/43]

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

◆ evaluate() [19/43]

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

◆ evaluate() [20/43]

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

◆ evaluate() [21/43]

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

◆ evaluate() [22/43]

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

◆ evaluate() [23/43]

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

◆ evaluate() [24/43]

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

◆ evaluate() [25/43]

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

◆ evaluate() [26/43]

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

◆ evaluate() [27/43]

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

◆ evaluate() [28/43]

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

◆ evaluate() [29/43]

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

◆ evaluate() [30/43]

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

◆ evaluate() [31/43]

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

◆ evaluate() [32/43]

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

◆ evaluate() [33/43]

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

◆ evaluate() [34/43]

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

◆ evaluate() [35/43]

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

◆ evaluate() [36/43]

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

◆ evaluate() [37/43]

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

◆ evaluate() [38/43]

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

◆ evaluate() [39/43]

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

◆ evaluate() [40/43]

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

◆ evaluate() [41/43]

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

◆ evaluate() [42/43]

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

◆ evaluate() [43/43]

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.

◆ 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/43]

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

◆ getId() [2/43]

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

◆ getId() [3/43]

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

◆ getId() [4/43]

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

◆ getId() [5/43]

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

◆ getId() [6/43]

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

◆ getId() [7/43]

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

◆ getId() [8/43]

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

◆ getId() [9/43]

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

◆ getId() [10/43]

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

◆ getId() [11/43]

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

◆ getId() [12/43]

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

◆ getId() [13/43]

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

◆ getId() [14/43]

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

◆ getId() [15/43]

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

◆ getId() [16/43]

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

◆ getId() [17/43]

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

◆ getId() [18/43]

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

◆ getId() [19/43]

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

◆ getId() [20/43]

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

◆ getId() [21/43]

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

◆ getId() [22/43]

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

◆ getId() [23/43]

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

◆ getId() [24/43]

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

◆ getId() [25/43]

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

◆ getId() [26/43]

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

◆ getId() [27/43]

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

◆ getId() [28/43]

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

◆ getId() [29/43]

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

◆ getId() [30/43]

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

◆ getId() [31/43]

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

◆ getId() [32/43]

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

◆ getId() [33/43]

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

◆ getId() [34/43]

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

◆ getId() [35/43]

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

◆ getId() [36/43]

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

◆ getId() [37/43]

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

◆ getId() [38/43]

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

◆ getId() [39/43]

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

◆ getId() [40/43]

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

◆ getId() [41/43]

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

◆ getId() [42/43]

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

◆ getId() [43/43]

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

Get this Operation's ID.

◆ getName() [1/43]

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

◆ getName() [2/43]

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

◆ getName() [3/43]

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

◆ getName() [4/43]

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

◆ getName() [5/43]

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

◆ getName() [6/43]

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

◆ getName() [7/43]

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

◆ getName() [8/43]

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

◆ getName() [9/43]

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

◆ getName() [10/43]

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

◆ getName() [11/43]

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

◆ getName() [12/43]

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

◆ getName() [13/43]

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

◆ getName() [14/43]

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

◆ getName() [15/43]

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

◆ getName() [16/43]

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

◆ getName() [17/43]

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

◆ getName() [18/43]

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

◆ getName() [19/43]

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

◆ getName() [20/43]

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

◆ getName() [21/43]

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

◆ getName() [22/43]

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

◆ getName() [23/43]

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

◆ getName() [24/43]

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

◆ getName() [25/43]

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

◆ getName() [26/43]

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

◆ getName() [27/43]

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

◆ getName() [28/43]

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

◆ getName() [29/43]

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

◆ getName() [30/43]

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

◆ getName() [31/43]

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

◆ getName() [32/43]

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

◆ getName() [33/43]

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

◆ getName() [34/43]

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

◆ getName() [35/43]

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

◆ getName() [36/43]

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

◆ getName() [37/43]

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

◆ getName() [38/43]

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

◆ getName() [39/43]

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

◆ getName() [40/43]

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

◆ getName() [41/43]

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

◆ getName() [42/43]

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

◆ getName() [43/43]

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

Get the name of this Operation.

◆ getNumArguments() [1/43]

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

◆ getNumArguments() [2/43]

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

◆ getNumArguments() [3/43]

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

◆ getNumArguments() [4/43]

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

◆ getNumArguments() [5/43]

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

◆ getNumArguments() [6/43]

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

◆ getNumArguments() [7/43]

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

◆ getNumArguments() [8/43]

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

◆ getNumArguments() [9/43]

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

◆ getNumArguments() [10/43]

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

◆ getNumArguments() [11/43]

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

◆ getNumArguments() [12/43]

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

◆ getNumArguments() [13/43]

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

◆ getNumArguments() [14/43]

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

◆ getNumArguments() [15/43]

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

◆ getNumArguments() [16/43]

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

◆ getNumArguments() [17/43]

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

◆ getNumArguments() [18/43]

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

◆ getNumArguments() [19/43]

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

◆ getNumArguments() [20/43]

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

◆ getNumArguments() [21/43]

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

◆ getNumArguments() [22/43]

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

◆ getNumArguments() [23/43]

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

◆ getNumArguments() [24/43]

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

◆ getNumArguments() [25/43]

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

◆ getNumArguments() [26/43]

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

◆ getNumArguments() [27/43]

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

◆ getNumArguments() [28/43]

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

◆ getNumArguments() [29/43]

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

◆ getNumArguments() [30/43]

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

◆ getNumArguments() [31/43]

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

◆ getNumArguments() [32/43]

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

◆ getNumArguments() [33/43]

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

◆ getNumArguments() [34/43]

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

◆ getNumArguments() [35/43]

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

◆ getNumArguments() [36/43]

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

◆ getNumArguments() [37/43]

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

◆ getNumArguments() [38/43]

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

◆ getNumArguments() [39/43]

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

◆ getNumArguments() [40/43]

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

◆ getNumArguments() [41/43]

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

◆ getNumArguments() [42/43]

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

◆ getNumArguments() [43/43]

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

Get the number of arguments this operation expects.

◆ 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

◆ Nandelta()

PLMD::lepton::Operation::Nandelta ( )
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: