Classes | Namespaces | Macros | Functions
Operation.h File Reference
#include "windowsIncludes.h"
#include "CustomFunction.h"
#include "Exception.h"
#include <cmath>
#include <map>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <limits>

Classes

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

Namespaces

 PLMD
 
 PLMD::lepton
 

Macros

#define LEPTON_CLASS_OPERATION(Name, name, NAME, nargs, impl)
 

Functions

 PLMD::lepton::LEPTON_CLASS_OPERATION (Acosh, acosh, ACOSH, 1, std::acosh(args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Acot, acot, ACOT, 1, std::atan(1.0/args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Acoth, acoth, ACOTH, 1, 0.5 *std::log((args[0]+1.0)/(args[0]-1.0)))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Acsc, acsc, ACSC, 1, std::asin(1.0/args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Acsch, acsch, ACSCH, 1, std::log(1.0/args[0]+std::sqrt(1.0/(args[0] *args[0])+1.0)))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Asec, asec, ASEC, 1, std::acos(1.0/args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Asech, asech, ASECH, 1, std::log(std::sqrt(1.0/args[0]-1.0) *std::sqrt(1.0/args[0]+1.0)+1.0/args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Asinh, asinh, ASINH, 1, std::asinh(args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Atan2, atan2, ATAN2, 2, std::atan2(args[0], args[1]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Atanh, atanh, ATANH, 1, std::atanh(args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Coth, coth, ACOT, 1, 1.0/std::tanh(args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Csch, csch, CSCH, 1, 1.0/std::sinh(args[0]))
 
 PLMD::lepton::LEPTON_CLASS_OPERATION (Sech, sech, SECH, 1, 1.0/std::cosh(args[0]))
 

Macro Definition Documentation

◆ LEPTON_CLASS_OPERATION

#define LEPTON_CLASS_OPERATION (   Name,
  name,
  NAME,
  nargs,
  impl 
)
Value:
class LEPTON_EXPORT Operation::Name : public Operation { \
public: \
Name() { \
} \
std::string getName() const { \
return #name; \
} \
Id getId() const { \
return NAME; \
} \
int getNumArguments() const { \
return nargs; \
} \
Operation* clone() const { \
return new Name(); \
} \
double evaluate(double* args, const std::map<std::string, double>& variables) const { \
return impl; \
} \
ExpressionTreeNode differentiate(const std::vector<ExpressionTreeNode>& children, const std::vector<ExpressionTreeNode>& childDerivs, const std::string& variable) const; \
}
LEPTON_EXPORT
#define LEPTON_EXPORT
Definition: windowsIncludes.h:70