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 
8 namespace SymEngine
9 {
10 
11 class SimplifyVisitor : public BaseVisitor<SimplifyVisitor, TransformVisitor>
12 {
13 private:
14  std::pair<RCP<const Basic>, RCP<const Basic>>
15  simplify_pow(const RCP<const Basic> &e, const RCP<const Basic> &b);
16 
17 public:
18  using TransformVisitor::bvisit;
19 
21 
22  void bvisit(const Mul &x);
23  void bvisit(const Pow &x);
24  void bvisit(const OneArgFunction &x);
25 };
26 
27 RCP<const Basic> simplify(const RCP<const Basic> &x,
28  const Assumptions *assumptions = nullptr);
29 
30 } // namespace SymEngine
31 
32 #endif
The base class for SymEngine.
Main namespace for SymEngine package.
Definition: add.cpp:19