stator
A math, geometry, and utility library
Classes | Namespaces | Typedefs | Functions
runtime.hpp File Reference
#include <stator/symbolic/symbolic.hpp>
#include <stator/repr.hpp>
#include <memory>
#include <sstream>

Go to the source code of this file.

Classes

struct  sym::BinaryOp< Expr, Op, Expr >
 Specialisation of BinaryOp for runtime arguments (Expr). More...
 
class  sym::detail::CompareConstantsVisitor< LHS_t >
 
class  sym::ConstantRT< T >
 
struct  sym::detail::DerivativeRT
 
struct  sym::detail::DoubleDispatch1< Visitor, Op >
 
struct  sym::detail::DoubleDispatch2< Visitor, LHS_t, Op >
 
struct  sym::Expr
 The generic holder/smart pointer for a runtime Abstract Syntax Tree (AST) (expression). More...
 
struct  sym::detail::FastSubRT
 
struct  sym::detail::IsConstantVisitor
 
class  sym::RTBase
 Abstract interface class for all runtime symbolic classes. More...
 
class  sym::RTBaseHelper< Derived >
 CRTP helper base class which implements some of the common boilerplate code for runtime symbolic types. More...
 
struct  sym::detail::SimplifyRT
 
struct  sym::detail::SubstituteRT
 
struct  sym::detail::SimplifyRT::UnaryEval< Op >
 
struct  sym::UnaryOp< Expr, Op >
 Specialisation of unary operator for runtime arguments and use in runtime expressions (Expr). More...
 
class  sym::Var< Dynamic >
 Specialisation of Var for runtime variables. More...
 
struct  sym::detail::VisitorHelper< Derived >
 A CRTP helper base class which transforms the visitor interface into a call to the derived classes apply function. More...
 
struct  sym::detail::VisitorInterface
 Abstract interface class for the visitor programming pattern for Expr types. More...
 

Namespaces

 stator
 The stator library namespace.
 
 sym
 The stator symbolic math library.
 
 sym::detail
 Namespace containing the details of the implmentation for general stator components.
 

Typedefs

typedef Var< Dynamic > sym::VarRT
 

Functions

template<class ... Args1, class ... Args2, typename = typename std::enable_if<std::is_base_of<Dynamic, Var<Args1...> >::value || std::is_base_of<Dynamic, Var<Args2...> >::value>::type>
Expr sym::derivative (Var< Args1... > v1, Var< Args2... > v2)
 Determine the derivative of a variable by another variable. More...
 
template<class Var >
Expr sym::derivative (const Expr &f, const Var v)
 
template<class Var >
double sym::fast_sub (const Expr &f, const Relation< Var, double > &rel)
 
bool sym::is_constant (const Expr &a)
 
template<class Config >
std::string stator::repr (const sym::RTBase &b)
 
template<class Config >
std::string stator::repr (const sym::Expr &b)
 
Expr sym::simplify (const Expr &f)
 
template<class Var , class Arg >
Expr sym::sub (const Expr &f, const Relation< Var, Arg > &rel)