|
Macaulay2 Engine
|
Per-ring monomial layout / encoding helper used by F4GB. More...
#include <moninfo.hpp>
Public Types | |
| typedef packed_monomial | monomial |
| typedef const_packed_monomial | const_monomial |
| typedef monomial | value |
Private Attributes | |
| int | nvars |
| int | nslots |
| monomial_word * | hashfcn |
| monomial_word | mask |
| int | firstvar |
| int | mNumWeights |
| std::vector< int > | mWeightVectors |
| std::vector< int > | mHeftDegrees |
| std::vector< int > | mModuleHeftDegrees |
| bool | mTieBreakerIsRevLex |
| int | mPositionUp |
| int | mComponentLoc |
| unsigned long | ncalls_compare |
| unsigned long | ncalls_mult |
| unsigned long | ncalls_get_component |
| unsigned long | ncalls_from_expvector |
| unsigned long | ncalls_to_expvector |
| unsigned long | ncalls_to_varpower |
| unsigned long | ncalls_from_varpower |
| unsigned long | ncalls_is_equal |
| unsigned long | ncalls_is_equal_true |
| unsigned long | ncalls_divide |
| unsigned long | ncalls_weight |
| unsigned long | ncalls_unneccesary |
| unsigned long | ncalls_quotient_as_vp |
Additional Inherited Members | |
| 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) |
Per-ring monomial layout / encoding helper used by F4GB.
Holds the variable count nvars and the encoded monomial word width nslots, plus a per-variable hash table (hashfcn) and mask. Encoded monomials are laid out as [hashvalue, Computations, w_1, ..., w_r, e_1, ..., e_n] (or with the weights at the tail, depending on convention — see in-source comments at the top of the file). Provides the operations the F4 inner loops need: compare, mult, divide, lcm, gcd, hash-with- component, plus encode / decode against actual exponent vectors.
Definition at line 107 of file moninfo.hpp.