|
fmatvec
0.0.0
|
A vertex of the AST representing a constant (long or double) More...
#include <ast.h>
Public Member Functions | |
| SymbolicExpression | parDer (const IndependentVariable &x) const override |
| Generate a new AST being the partial derivate of this AST with respect to the variable x. More... | |
| bool | isConstantInt () const override |
| Rreturn true if this Vertex is a constant integer. More... | |
| const T & | getValue () const |
| Get the constant value of the vertex. | |
| std::vector< ByteCode >::iterator | dumpByteCode (std::vector< ByteCode > &byteCode, std::map< const Vertex *, std::vector< AST::ByteCode >::iterator > &existingVertex) const override |
| void | walkVertex (const std::function< void(const std::shared_ptr< const Vertex > &)> &func) const override |
| bool | isConstantInt () const |
| Rreturn true if this Vertex is a constant integer. More... | |
| bool | isConstantInt () const |
| Rreturn true if this Vertex is a constant integer. More... | |
Public Member Functions inherited from fmatvec::AST::Vertex | |
| virtual SymbolicExpression | parDer (const IndependentVariable &x) const =0 |
| Generate a new AST being the partial derivate of this AST with respect to the variable x. More... | |
| virtual bool | isConstantInt () const |
| Rreturn true if this Vertex is a constant integer. More... | |
| bool | isZero () const |
| bool | isOne () const |
| virtual std::vector< ByteCode >::iterator | dumpByteCode (std::vector< ByteCode > &byteCode, std::map< const Vertex *, std::vector< AST::ByteCode >::iterator > &existingVertex) const =0 |
| virtual void | walkVertex (const std::function< void(const std::shared_ptr< const Vertex > &)> &func) const =0 |
Static Public Member Functions | |
| static SymbolicExpression | create (const T &c_) |
Private Types | |
| using | CacheKey = T |
Private Member Functions | |
| Constant (const T &c_) | |
| bool | equal (const SymbolicExpression &b, MapIVSE &m) const override |
Private Attributes | |
| friend | SymbolicExpression |
| const T | c |
Static Private Attributes | |
| static std::map< CacheKey, std::weak_ptr< const Constant > > | cache |
Additional Inherited Members | |
Protected Types inherited from fmatvec::AST::Vertex | |
| using | MapIVSE = std::map< IndependentVariable, SymbolicExpression, LessIV > |
| virtual bool | equal (const SymbolicExpression &b, MapIVSE &m) const =0 |
A vertex of the AST representing a constant (long or double)
|
overridevirtual |
Implements fmatvec::AST::Vertex.
|
overrideprivatevirtual |
Implements fmatvec::AST::Vertex.
|
inlinevirtual |
Rreturn true if this Vertex is a constant integer.
Reimplemented from fmatvec::AST::Vertex.
|
inlinevirtual |
Rreturn true if this Vertex is a constant integer.
Reimplemented from fmatvec::AST::Vertex.
|
inlineoverridevirtual |
Rreturn true if this Vertex is a constant integer.
Reimplemented from fmatvec::AST::Vertex.
|
overridevirtual |
Generate a new AST being the partial derivate of this AST with respect to the variable x.
Implements fmatvec::AST::Vertex.
|
overridevirtual |
Implements fmatvec::AST::Vertex.