Class GaloisFieldDict

Nested Relationships

Class Documentation

class SymEngine::GaloisFieldDict

Public Functions

GaloisFieldDict () SYMENGINE_NOEXCEPT
~GaloisFieldDict () SYMENGINE_NOEXCEPT
GaloisFieldDict (GaloisFieldDict &&other) SYMENGINE_NOEXCEPT
GaloisFieldDict(const int &i, const integer_class &mod)
GaloisFieldDict(const map_uint_mpz &p, const integer_class &mod)
GaloisFieldDict(const integer_class &i, const integer_class &mod)
GaloisFieldDict(const GaloisFieldDict&) = default
GaloisFieldDict &operator=(const GaloisFieldDict&) = default
void gf_div(const GaloisFieldDict &o, const Ptr<GaloisFieldDict> &quo, const Ptr<GaloisFieldDict> &rem) const
GaloisFieldDict gf_lshift(const integer_class n) const
void gf_rshift(const integer_class n, const Ptr<GaloisFieldDict> &quo, const Ptr<GaloisFieldDict> &rem) const
GaloisFieldDict gf_sqr() const
GaloisFieldDict gf_pow(const unsigned long n) const
void gf_monic(integer_class &res, const Ptr<GaloisFieldDict> &monic) const
GaloisFieldDict gf_gcd(const GaloisFieldDict &o) const
GaloisFieldDict gf_lcm(const GaloisFieldDict &o) const
GaloisFieldDict gf_diff() const
integer_class gf_eval(const integer_class &a) const
vec_integer_class gf_multi_eval(const vec_integer_class &v) const
bool gf_is_sqf() const
std::vector<std::pair<GaloisFieldDict, unsigned>> gf_sqf_list() const
GaloisFieldDict gf_sqf_part() const
GaloisFieldDict gf_compose_mod(const GaloisFieldDict &g, const GaloisFieldDict &h) const
std::vector<GaloisFieldDict> gf_frobenius_monomial_base() const
GaloisFieldDict gf_pow_mod(const GaloisFieldDict &f, const unsigned long &n) const
GaloisFieldDict gf_frobenius_map(const GaloisFieldDict &g, const std::vector<GaloisFieldDict> &b) const
std::pair<GaloisFieldDict, GaloisFieldDict> gf_trace_map(const GaloisFieldDict &a, const GaloisFieldDict &b, const GaloisFieldDict &c, const unsigned long &n) const
GaloisFieldDict _gf_trace_map(const GaloisFieldDict &f, const unsigned long &n, const std::vector<GaloisFieldDict> &b) const
std::vector<std::pair<GaloisFieldDict, unsigned>> gf_ddf_zassenhaus() const
GaloisFieldDict _gf_pow_pnm1d2(const GaloisFieldDict &f, const unsigned &n, const std::vector<GaloisFieldDict> &b) const
GaloisFieldDict gf_random(const unsigned int &n_val, mp_randstate &state) const
std::set<GaloisFieldDict, DictLess> gf_edf_zassenhaus(const unsigned &n) const
std::vector<std::pair<GaloisFieldDict, unsigned>> gf_ddf_shoup() const
std::set<GaloisFieldDict, DictLess> gf_edf_shoup(const unsigned &n) const
std::set<GaloisFieldDict, DictLess> gf_zassenhaus() const
std::set<GaloisFieldDict, DictLess> gf_shoup() const
std::pair<integer_class, std::set<std::pair<GaloisFieldDict, unsigned>, DictLess>> gf_factor() const
GaloisFieldDict & operator= (GaloisFieldDict &&other) SYMENGINE_NOEXCEPT
GaloisFieldDict &operator+=(const GaloisFieldDict &other)
GaloisFieldDict &operator+=(const integer_class &other)
GaloisFieldDict operator-() const
GaloisFieldDict &negate()
GaloisFieldDict &operator-=(const integer_class &other)
GaloisFieldDict &operator-=(const GaloisFieldDict &other)
GaloisFieldDict &operator*=(const integer_class &other)
GaloisFieldDict &operator*=(const GaloisFieldDict &other)
GaloisFieldDict &operator/=(const integer_class &other)
GaloisFieldDict &operator/=(const GaloisFieldDict &other)
GaloisFieldDict &operator%=(const integer_class &other)
GaloisFieldDict &operator%=(const GaloisFieldDict &other)
bool operator==(const GaloisFieldDict &other) const
bool operator!=(const GaloisFieldDict &other) const
size_t size() const
bool empty() const
unsigned degree() const
const std::vector<integer_class> &get_dict() const
void gf_istrip()
bool is_one() const
integer_class get_coeff(unsigned int x) const

Public Members

std::vector<integer_class> dict_
integer_class modulo_

Public Static Functions

GaloisFieldDict from_vec(const std::vector<integer_class> &v, const integer_class &modulo)
GaloisFieldDict mul(const GaloisFieldDict &a, const GaloisFieldDict &b)
GaloisFieldDict pow(const GaloisFieldDict &a, unsigned int p)

Friends

template<typename T>
friend GaloisFieldDict operator+(const GaloisFieldDict &a, const T &b)
template<typename T>
friend GaloisFieldDict operator-(const GaloisFieldDict &a, const T &b)
friend GaloisFieldDict operator*(const GaloisFieldDict &a, const GaloisFieldDict &b)
template<class T>
friend GaloisFieldDict operator/(const GaloisFieldDict &a, const T &b)
template<class T>
friend GaloisFieldDict operator%(const GaloisFieldDict &a, const T &b)
struct DictLess

Public Functions

bool operator()(const GaloisFieldDict &a, const GaloisFieldDict &b) const
bool operator()(const std::pair<GaloisFieldDict, unsigned> &a, const std::pair<GaloisFieldDict, unsigned> &b) const