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 };
31 
32 RCP<const Basic> refine(const RCP<const Basic> &x,
33  const Assumptions *assumptions);
34 
35 } // namespace SymEngine
36 
37 #endif
The base class for SymEngine.
Main namespace for SymEngine package.
Definition: add.cpp:19