fmatvec  0.0.0
fmatvec::SymbolicExpression Class Reference

#include <ast.h>

Inheritance diagram for fmatvec::SymbolicExpression:
[legend]

Classes

struct  ConstructSymbol
 

Public Member Functions

 SymbolicExpression ()
 Creates the value 0.
 
 SymbolicExpression (const std::string &str)
 Creates a expression form the specified string (the string must be a serialized SymbolicExpression).
 
 SymbolicExpression (int x)
 Creates a integer constant.
 
 SymbolicExpression (long x)
 
 SymbolicExpression (double x)
 Creates a double constant.
 
 SymbolicExpression (const SymbolicExpression &x)=default
 
 SymbolicExpression (SymbolicExpression &&x)=default
 
SymbolicExpressionoperator= (const SymbolicExpression &x)=default
 
SymbolicExpressionoperator= (SymbolicExpression &&x)=default
 
SymbolicExpression operator+ (const SymbolicExpression &b) const
 
SymbolicExpression operator- (const SymbolicExpression &b) const
 
SymbolicExpression operator* (const SymbolicExpression &b) const
 
SymbolicExpression operator/ (const SymbolicExpression &b) const
 
SymbolicExpression operator- () const
 
SymbolicExpressionoperator+= (const SymbolicExpression &b)
 
SymbolicExpressionoperator-= (const SymbolicExpression &b)
 
SymbolicExpressionoperator*= (const SymbolicExpression &b)
 
SymbolicExpressionoperator/= (const SymbolicExpression &b)
 
SymbolicExpressionoperator<<= (const SymbolicExpression &src)
 
template<class T >
 SymbolicExpression (const shared_ptr< T > &x)
 

Static Public Member Functions

static void garbageCollect ()
 

Protected Member Functions

template<class T >
 SymbolicExpression (const shared_ptr< T > &x)
 
 SymbolicExpression (ConstructSymbol)
 

Static Protected Attributes

static const struct fmatvec::SymbolicExpression::ConstructSymbol constructSymbol
 

Friends

template<class... Arg>
class Eval
 
class EvalHelper
 
class AST::Operation
 
class AST::Constant< long >
 
class AST::Constant< double >
 
class AST::NativeFunction
 
FMATVEC_EXPORT SymbolicExpression parDer (const SymbolicExpression &dep, const IndependentVariable &indep)
 
SymbolicExpression AST::substScalar (const SymbolicExpression &se, const IndependentVariable &a, const SymbolicExpression &b)
 

Detailed Description

A symbolic expression. This class represent an arbitary symbolic expression. This can either be the special case of just a symbol or an arbitary expression consisting of a hierarchiy of operations consisting itself of expressions, symbols or constants.

Member Function Documentation

◆ garbageCollect()

void fmatvec::SymbolicExpression::garbageCollect ( )
static

Garbage collect everything. The only "garbage" which can be left by this class are empty weak_ptr's stored in global maps. This routine removes such garbage.

Friends And Related Function Documentation

◆ parDer

FMATVEC_EXPORT SymbolicExpression parDer ( const SymbolicExpression dep,
const IndependentVariable indep 
)
friend

Generate a new SymbolicExpression being the partial derivate of dep with respect to indep (indep must be a symbol).


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