14 #ifndef SYMENGINE_ADD_H
15 #define SYMENGINE_ADD_H
43 Add(
const RCP<const Number> &coef, umap_basic_num &&dict);
50 hash_t __hash__()
const override;
58 bool __eq__(
const Basic &o)
const override;
66 int compare(
const Basic &o)
const override;
83 static RCP<const Basic> from_dict(
const RCP<const Number> &coef,
93 static void dict_add_term(umap_basic_num &d,
const RCP<const Number> &coef,
94 const RCP<const Basic> &t);
103 static void coef_dict_add_term(
const Ptr<RCP<const Number>> &coef,
105 const RCP<const Number> &c,
106 const RCP<const Basic> &term);
114 void as_two_terms(
const Ptr<RCP<const Basic>> &a,
115 const Ptr<RCP<const Basic>> &b)
const;
123 static void as_coef_term(
const RCP<const Basic> &
self,
124 const Ptr<RCP<const Number>> &coef,
125 const Ptr<RCP<const Basic>> &term);
132 bool is_canonical(
const RCP<const Number> &coef,
133 const umap_basic_num &dict)
const;
139 vec_basic get_args()
const override;
148 inline const umap_basic_num &get_dict()
const
162 SYMENGINE_EXPORT RCP<const Basic>
add(
const RCP<const Basic> &a,
163 const RCP<const Basic> &b);
172 SYMENGINE_EXPORT RCP<const Basic>
add(
const vec_basic &a);
182 SYMENGINE_EXPORT RCP<const Basic>
sub(
const RCP<const Basic> &a,
183 const RCP<const Basic> &b);
The base class for SymEngine.
#define IMPLEMENT_TYPEID(SYMENGINE_ID)
Inline members and functions.
The base class for representing addition in symbolic expressions.
RCP< const Number > coef_
const RCP< const Number > & get_coef() const
The lowest unit of symbolic representation.
Main namespace for SymEngine package.
RCP< const Basic > add(const RCP< const Basic > &a, const RCP< const Basic > &b)
Adds two objects (safely).
RCP< const Basic > sub(const RCP< const Basic > &a, const RCP< const Basic > &b)
Substracts b from a.