Macaulay2 Engine
Loading...
Searching...
No Matches
MonomialTableZZ Class Reference

MonomialTable analogue for monomials carrying a ZZ coefficient. More...

#include <montableZZ.hpp>

Inheritance diagram for MonomialTableZZ:
our_new_delete

Classes

struct  mon_term
 MonomialTable::mon_term plus an _coeff slot pointing at the entry's leading ZZ coefficient (or nullptr for the coefficient-blind case). More...

Public Member Functions

 ~MonomialTableZZ ()
void insert (mpz_srcptr coeff, exponents_t exp, int comp, int id)
bool is_weak_member (mpz_srcptr c, exponents_t exp, int comp) const
bool is_strong_member (mpz_srcptr c, exponents_t exp, int comp) const
int find_smallest_coeff_divisor (exponents_t exp, int comp) const
int find_term_divisors (int max, mpz_srcptr coeff, exponents_t exp, int comp, VECTOR(mon_term *) *result=nullptr) const
int find_monomial_divisors (int max, exponents_t exp, int comp, VECTOR(mon_term *) *result=nullptr) const
mon_termfind_exact (mpz_srcptr coeff, exponents_t exp, int comp) const
mon_termfind_exact_monomial (exponents_t exp, int comp, int first_val) const
void change_coefficient (mon_term *t, mpz_srcptr new_coeff, int new_id)
void show_mon_term (FILE *fil, mon_term *t) const
void show_mon_term (buffer &o, mon_term *t) const
void show_mon_term (buffer &o, mpz_srcptr coeff, exponents_t lead, int comp) const
void show (FILE *fil) const
void showmontable ()
void show_weak (FILE *fil, mpz_srcptr coeff, exponents_t exp, int comp, int val) const

Static Public Member Functions

static MonomialTableZZmake (int nvars)
static void find_weak_generators (int nvars, const VECTOR(mpz_srcptr) &coeffs, const VECTOR(exponents_t) &exps, const VECTOR(int) &comps, VECTOR(int) &result_positions, bool use_stable_sort=true)
static void find_strong_generators (int nvars, const VECTOR(mpz_srcptr) &coeffs, const VECTOR(exponents_t) &exps, const VECTOR(int) &comps, VECTOR(int) &result_positions)
Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Private Member Functions

 VECTOR (mon_term *) _head

Static Private Member Functions

static mon_termmake_list_head ()

Private Attributes

int _nvars
int _count

Detailed Description

MonomialTable analogue for monomials carrying a ZZ coefficient.

Note
AI-generated documentation. Verify against the source before relying on it.

Used by the integer-coefficient GB code path to track lead-term divisibility together with the leading integer coefficient: when the table is consulted to reduce coeff * exp against an entry c * lead, both the exponent-divisibility test and the c | coeff integer-divisibility test are honoured. Otherwise the data structure matches MonomialTable: per-component doubly-linked lists of mon_terms in lex order with a _mask-filtered divisor lookup.

Definition at line 77 of file montableZZ.hpp.


The documentation for this class was generated from the following files: