Loading...
Searching...
No Matches
simplify.h
1#ifndef SYMENGINE_SIMPLIFY_H
2#define SYMENGINE_SIMPLIFY_H
3
4#include <symengine/visitor.h>
5#include <symengine/basic.h>
6#include <symengine/assumptions.h>
7
8namespace SymEngine
9{
10
11class SimplifyVisitor : public BaseVisitor<SimplifyVisitor, TransformVisitor>
12{
13private:
14 const Assumptions *assumptions_;
15
16 std::pair<RCP<const Basic>, RCP<const Basic>>
17 simplify_pow(const RCP<const Basic> &e, const RCP<const Basic> &b);
18
19public:
20 using TransformVisitor::bvisit;
21
22 SimplifyVisitor(const Assumptions *assumptions)
24 assumptions_(assumptions)
25 {
26 }
27
28 void bvisit(const Mul &x);
29 void bvisit(const Pow &x);
30 void bvisit(const OneArgFunction &x);
31};
32
33RCP<const Basic> simplify(const RCP<const Basic> &x,
34 const Assumptions *assumptions = nullptr);
35
36} // namespace SymEngine
37
38#endif
The base class for SymEngine.
Main namespace for SymEngine package.
Definition: add.cpp:19