Drake
symbolic_expression_cell.h File Reference

Detailed Description

Provides implementation-details of symbolic expressions.

It is strongly discouraged to include and use this header file outside of drake/common/symbolic_* files. To include this file, you need to define DRAKE_COMMON_SYMBOLIC_DETAIL_HEADER before. Without it, you have compile-time errors.

#include <algorithm>
#include <cstddef>
#include <map>
#include <ostream>
#include <string>
#include <vector>
#include <Eigen/Core>
#include "drake/common/drake_copyable.h"
#include "drake/common/random.h"
#include "drake/common/symbolic.h"
Include dependency graph for symbolic_expression_cell.h:

Classes

class  ExpressionCell
 Represents an abstract class which is the base of concrete symbolic-expression classes. More...
 
class  UnaryExpressionCell
 Represents the base class for unary expressions. More...
 
class  BinaryExpressionCell
 Represents the base class for binary expressions. More...
 
class  ExpressionVar
 Symbolic expression representing a variable. More...
 
class  ExpressionConstant
 Symbolic expression representing a constant. More...
 
class  ExpressionNaN
 Symbolic expression representing NaN (not-a-number). More...
 
class  ExpressionAdd
 Symbolic expression representing an addition which is a sum of products. More...
 
class  ExpressionAddFactory
 Factory class to help build ExpressionAdd expressions. More...
 
class  ExpressionMul
 Symbolic expression representing a multiplication of powers. More...
 
class  ExpressionMulFactory
 Factory class to help build ExpressionMul expressions. More...
 
class  ExpressionDiv
 Symbolic expression representing division. More...
 
class  ExpressionLog
 Symbolic expression representing logarithms. More...
 
class  ExpressionAbs
 Symbolic expression representing absolute value function. More...
 
class  ExpressionExp
 Symbolic expression representing exponentiation using the base of natural logarithms. More...
 
class  ExpressionSqrt
 Symbolic expression representing square-root. More...
 
class  ExpressionPow
 Symbolic expression representing power function. More...
 
class  ExpressionSin
 Symbolic expression representing sine function. More...
 
class  ExpressionCos
 Symbolic expression representing cosine function. More...
 
class  ExpressionTan
 Symbolic expression representing tangent function. More...
 
class  ExpressionAsin
 Symbolic expression representing arcsine function. More...
 
class  ExpressionAcos
 Symbolic expression representing arccosine function. More...
 
class  ExpressionAtan
 Symbolic expression representing arctangent function. More...
 
class  ExpressionAtan2
 Symbolic expression representing atan2 function (arctangent function with two arguments). More...
 
class  ExpressionSinh
 Symbolic expression representing hyperbolic sine function. More...
 
class  ExpressionCosh
 Symbolic expression representing hyperbolic cosine function. More...
 
class  ExpressionTanh
 Symbolic expression representing hyperbolic tangent function. More...
 
class  ExpressionMin
 Symbolic expression representing min function. More...
 
class  ExpressionMax
 Symbolic expression representing max function. More...
 
class  ExpressionCeiling
 Symbolic expression representing ceil function. More...
 
class  ExpressionFloor
 Symbolic expression representing floor function. More...
 
class  ExpressionIfThenElse
 Symbolic expression representing if-then-else expression. More...
 
class  ExpressionUninterpretedFunction
 Symbolic expression representing an uninterpreted function. More...
 

Namespaces

 drake
 
 drake::symbolic
 

Functions

bool is_integer (double v)
 
bool is_positive_integer (double v)
 
bool is_non_negative_integer (double v)
 
bool is_constant (const ExpressionCell &c)
 Checks if c is a constant expression. More...
 
bool is_variable (const ExpressionCell &c)
 Checks if c is a variable expression. More...
 
bool is_unary (const ExpressionCell &c)
 Checks if c is a unary expression. More...
 
bool is_binary (const ExpressionCell &c)
 Checks if c is a binary expression. More...
 
bool is_addition (const ExpressionCell &c)
 Checks if c is an addition expression. More...
 
bool is_multiplication (const ExpressionCell &c)
 Checks if c is an multiplication expression. More...
 
bool is_division (const ExpressionCell &c)
 Checks if c is a division expression. More...
 
bool is_log (const ExpressionCell &c)
 Checks if c is a log expression. More...
 
bool is_abs (const ExpressionCell &c)
 Checks if c is an absolute-value-function expression. More...
 
bool is_exp (const ExpressionCell &c)
 Checks if c is an exp expression. More...
 
bool is_sqrt (const ExpressionCell &c)
 Checks if c is a square-root expression. More...
 
bool is_pow (const ExpressionCell &c)
 Checks if c is a power-function expression. More...
 
bool is_sin (const ExpressionCell &c)
 Checks if c is a sine expression. More...
 
bool is_cos (const ExpressionCell &c)
 Checks if c is a cosine expression. More...
 
bool is_tan (const ExpressionCell &c)
 Checks if c is a tangent expression. More...
 
bool is_asin (const ExpressionCell &c)
 Checks if c is an arcsine expression. More...
 
bool is_acos (const ExpressionCell &c)
 Checks if c is an arccosine expression. More...
 
bool is_atan (const ExpressionCell &c)
 Checks if c is an arctangent expression. More...
 
bool is_atan2 (const ExpressionCell &c)
 Checks if c is a arctangent2 expression. More...
 
bool is_sinh (const ExpressionCell &c)
 Checks if c is a hyperbolic-sine expression. More...
 
bool is_cosh (const ExpressionCell &c)
 Checks if c is a hyperbolic-cosine expression. More...
 
bool is_tanh (const ExpressionCell &c)
 Checks if c is a hyperbolic-tangent expression. More...
 
bool is_min (const ExpressionCell &c)
 Checks if c is a min expression. More...
 
bool is_max (const ExpressionCell &c)
 Checks if c is a max expression. More...
 
bool is_ceil (const ExpressionCell &c)
 Checks if c is a ceil expression. More...
 
bool is_floor (const ExpressionCell &c)
 Checks if c is a floor expression. More...
 
bool is_if_then_else (const ExpressionCell &c)
 Checks if c is an if-then-else expression. More...
 
bool is_uninterpreted_function (const ExpressionCell &c)
 Checks if c is an uninterpreted-function expression. More...