refine.h
1 #ifndef SYMENGINE_REFINE_H
2 #define SYMENGINE_REFINE_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 RefineVisitor : public BaseVisitor<RefineVisitor, TransformVisitor>
12 {
13 private:
14  const Assumptions *assumptions_;
15 
16 public:
17  using TransformVisitor::bvisit;
18 
19  RefineVisitor(const Assumptions *assumptions)
21  assumptions_(assumptions)
22  {
23  }
24 
25  void bvisit(const Abs &x);
26  void bvisit(const Sign &x);
27  void bvisit(const Floor &x);
28  void bvisit(const Ceiling &x);
29  void bvisit(const Conjugate &x);
30  void bvisit(const Max &x);
31  void bvisit(const Min &x);
32  void bvisit(const Pow &x);
33  void bvisit(const Log &x);
34  void bvisit(const Interval &x);
35 };
36 
37 RCP<const Basic> refine(const RCP<const Basic> &x,
38  const Assumptions *assumptions);
39 
40 } // namespace SymEngine
41 
42 #endif
The base class for SymEngine.
Main namespace for SymEngine package.
Definition: add.cpp:19