Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
numeric::expression_parser::MetaMaxExpression Class Reference

Evaluates ee1 when e1 is larger than e2; evaluates ee2 otherwise. More...

#include <Arithmetic.hh>

Inheritance diagram for numeric::expression_parser::MetaMaxExpression:
Inheritance graph
[legend]

Public Member Functions

 MetaMaxExpression (ExpressionCOP e1, ExpressionCOP e2, ExpressionCOP ee1, ExpressionCOP ee2)
 Evaluates ee1 when e1 is larger than e2; evaluates ee2 otherwise. More...
 
numeric::Real operator() () const override
 
ExpressionCOP differentiate (std::string const &varname) const override
 Returns the expression for the partial derivative of this expression by the variable named varname. If the partial derivative is always zero with respect to varname, returns null. More...
 
std::list< std::string > active_variables () const override
 
- Public Member Functions inherited from numeric::expression_parser::Expression
 ~Expression () override
 Automatically generated virtual destructor for class deriving directly from VirtualBase. More...
 
- Public Member Functions inherited from utility::VirtualBase
 VirtualBase ()=default
 Default constructor. More...
 
virtual ~VirtualBase ()=default
 The virtual destructor is one of the main reasons for the VirtualBase class. More...
 
 VirtualBase (VirtualBase const &)=default
 
 VirtualBase (VirtualBase &&)=default
 
VirtualBaseoperator= (VirtualBase const &)=default
 
VirtualBaseoperator= (VirtualBase &&)=default
 

Private Attributes

ExpressionCOP e1_
 
ExpressionCOP e2_
 
ExpressionCOP ee1_
 
ExpressionCOP ee2_
 

Detailed Description

Evaluates ee1 when e1 is larger than e2; evaluates ee2 otherwise.

Constructor & Destructor Documentation

numeric::expression_parser::MetaMaxExpression::MetaMaxExpression ( ExpressionCOP  e1,
ExpressionCOP  e2,
ExpressionCOP  ee1,
ExpressionCOP  ee2 
)

Evaluates ee1 when e1 is larger than e2; evaluates ee2 otherwise.

Member Function Documentation

std::list< std::string > numeric::expression_parser::MetaMaxExpression::active_variables ( ) const
overridevirtual

Implements numeric::expression_parser::Expression.

References e1_, e2_, ee1_, and ee2_.

ExpressionCOP numeric::expression_parser::MetaMaxExpression::differentiate ( std::string const &  varname) const
overridevirtual

Returns the expression for the partial derivative of this expression by the variable named varname. If the partial derivative is always zero with respect to varname, returns null.

Implements numeric::expression_parser::Expression.

References e1_, e2_, ee1_, and ee2_.

numeric::Real numeric::expression_parser::MetaMaxExpression::operator() ( ) const
overridevirtual

Implements numeric::expression_parser::Expression.

References e1_, e2_, ee1_, and ee2_.

Member Data Documentation

ExpressionCOP numeric::expression_parser::MetaMaxExpression::e1_
private
ExpressionCOP numeric::expression_parser::MetaMaxExpression::e2_
private
ExpressionCOP numeric::expression_parser::MetaMaxExpression::ee1_
private
ExpressionCOP numeric::expression_parser::MetaMaxExpression::ee2_
private

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