libsesstype  2.0.0
Library for Session Types programming.
All Classes Namespaces Files Functions
Public Member Functions
sesstype::parameterised::util::ExprInvert Class Reference

Given f(x) = y, calculate its mathematical reverse f^-1(y) = x. More...

#include <expr_invert.h>

Inheritance diagram for sesstype::parameterised::util::ExprInvert:
Inheritance graph
[legend]
Collaboration diagram for sesstype::parameterised::util::ExprInvert:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ExprInvert (std::string var)
Exprinvert ()
bool is_valid ()
bool has_var (Expr *expr)
virtual void visit (Expr *expr) override
virtual void visit (VarExpr *expr) override
virtual void visit (ValExpr *expr) override
virtual void visit (AddExpr *expr) override
virtual void visit (SubExpr *expr) override
virtual void visit (MulExpr *expr) override
virtual void visit (DivExpr *expr) override
virtual void visit (ModExpr *expr) override
virtual void visit (ShlExpr *expr) override
virtual void visit (ShrExpr *expr) override
virtual void visit (SeqExpr *expr) override
virtual void visit (RngExpr *expr) override
virtual void visit (LogExpr *expr) override

Detailed Description

Given f(x) = y, calculate its mathematical reverse f^-1(y) = x.

The general approach is find which binary branch has variable and peel off the other branch until var is reached.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions