Loading...
Searching...
No Matches
latex.h
1#ifndef LATEX_H
2#define LATEX_H
3
4#include <symengine/printers/strprinter.h>
5
6namespace SymEngine
7{
8
9class LatexPrinter : public BaseVisitor<LatexPrinter, StrPrinter>
10{
11public:
12 using StrPrinter::bvisit;
13
14 void bvisit(const Symbol &x);
15 void bvisit(const Rational &x);
16 void bvisit(const Complex &x);
17 void bvisit(const ComplexBase &x);
18 void bvisit(const ComplexDouble &x);
19#ifdef HAVE_SYMENGINE_MPC
20 void bvisit(const ComplexMPC &x);
21#endif
22 void bvisit(const Interval &x);
23 void bvisit(const Piecewise &x);
24 void bvisit(const EmptySet &x);
25 void bvisit(const Complexes &x);
26 void bvisit(const Reals &x);
27 void bvisit(const Rationals &x);
28 void bvisit(const Integers &x);
29 void bvisit(const Naturals &x);
30 void bvisit(const Naturals0 &x);
31 void bvisit(const FiniteSet &x);
32 void bvisit(const ConditionSet &x);
33 void bvisit(const Contains &x);
34 void bvisit(const BooleanAtom &x);
35 void bvisit(const And &x);
36 void bvisit(const Or &x);
37 void bvisit(const Xor &x);
38 void bvisit(const Not &x);
39 void bvisit(const Union &x);
40 void bvisit(const Intersection &x);
41 void bvisit(const Complement &x);
42 void bvisit(const ImageSet &x);
43 void bvisit(const Infty &x);
44 void bvisit(const NaN &x);
45 void bvisit(const Constant &x);
46 void bvisit(const Function &x);
47 void bvisit(const Abs &x);
48 void bvisit(const Floor &x);
49 void bvisit(const Ceiling &x);
50 void bvisit(const Derivative &x);
51 void bvisit(const Subs &x);
52 void bvisit(const Equality &x);
53 void bvisit(const Unequality &x);
54 void bvisit(const LessThan &x);
55 void bvisit(const StrictLessThan &x);
56 void bvisit(const Tuple &x);
57
58private:
59 static const std::vector<std::string> names_;
60
61protected:
62 void print_with_args(const Basic &x, const std::string &join,
64 virtual std::string parenthesize(const std::string &expr);
65 virtual void _print_pow(std::ostringstream &o, const RCP<const Basic> &a,
66 const RCP<const Basic> &b);
67 virtual bool split_mul_coef();
68 virtual std::string print_mul();
69 virtual std::string print_div(const std::string &num,
70 const std::string &den, bool paren);
71};
72} // namespace SymEngine
73
74#endif // LATEX_H
The lowest unit of symbolic representation.
Definition: basic.h:97
ComplexBase Class for deriving all complex classes.
Definition: complex.h:16
Complex Double Class to hold std::complex<double> values.
Complex Class.
Definition: complex.h:33
Rational Class.
Definition: rational.h:16
Main namespace for SymEngine package.
Definition: add.cpp:19