uintpoly_flint.cpp
1 #include <symengine/symbol.h>
3 
4 namespace SymEngine
5 {
6 
7 UIntPolyFlint::UIntPolyFlint(const RCP<const Basic> &var, fzp_t &&dict)
8  : UFlintPoly(var, std::move(dict)){SYMENGINE_ASSIGN_TYPEID()}
9 
10  hash_t UIntPolyFlint::__hash__() const
11 {
12  std::hash<std::string> str_hash;
13  hash_t seed = SYMENGINE_UINTPOLYFLINT;
14 
15  seed += get_var()->hash();
16  hash_combine(seed, str_hash(get_poly().to_string()));
17  return seed;
18 }
19 
20 URatPolyFlint::URatPolyFlint(const RCP<const Basic> &var, fqp_t &&dict)
21  : UFlintPoly(var, std::move(dict)){SYMENGINE_ASSIGN_TYPEID()}
22 
23  hash_t URatPolyFlint::__hash__() const
24 {
25  std::hash<std::string> str_hash;
26  hash_t seed = SYMENGINE_URATPOLYFLINT;
27 
28  seed += get_var()->hash();
29  hash_combine(seed, str_hash(get_poly().to_string()));
30  return seed;
31 }
32 } // namespace SymEngine
T move(T... args)
Main namespace for SymEngine package.
Definition: add.cpp:19
void hash_combine(hash_t &seed, const T &v)
Definition: basic-inl.h:95
STL namespace.
T to_string(T... args)