Program Listing for File add.h¶
↰ Return to documentation for file (symengine/symengine/add.h
)
#ifndef SYMENGINE_ADD_H
#define SYMENGINE_ADD_H
#include <symengine/basic.h>
namespace SymEngine
{
class Add : public Basic
{
private:
RCP<const Number> coef_;
umap_basic_num dict_;
public:
IMPLEMENT_TYPEID(SYMENGINE_ADD)
Add(const RCP<const Number> &coef, umap_basic_num &&dict);
virtual hash_t __hash__() const;
virtual bool __eq__(const Basic &o) const;
virtual int compare(const Basic &o) const;
static RCP<const Basic> from_dict(const RCP<const Number> &coef,
umap_basic_num &&d);
static void dict_add_term(umap_basic_num &d, const RCP<const Number> &coef,
const RCP<const Basic> &t);
static void coef_dict_add_term(const Ptr<RCP<const Number>> &coef,
umap_basic_num &d,
const RCP<const Number> &c,
const RCP<const Basic> &term);
void as_two_terms(const Ptr<RCP<const Basic>> &a,
const Ptr<RCP<const Basic>> &b) const;
static void as_coef_term(const RCP<const Basic> &self,
const Ptr<RCP<const Number>> &coef,
const Ptr<RCP<const Basic>> &term);
bool is_canonical(const RCP<const Number> &coef,
const umap_basic_num &dict) const;
virtual vec_basic get_args() const;
inline const RCP<const Number> &get_coef() const
{
return coef_;
}
inline const umap_basic_num &get_dict() const
{
return dict_;
}
};
RCP<const Basic> add(const RCP<const Basic> &a, const RCP<const Basic> &b);
RCP<const Basic> add(const vec_basic &a);
RCP<const Basic> sub(const RCP<const Basic> &a, const RCP<const Basic> &b);
} // SymEngine
#endif