|
Macaulay2 Engine
|
aring-style adapter for FLINT's Zech-logarithm representation of small finite fields GF(p^n). More...
#include <aring-gf-flint.hpp>
Classes | |
| class | Element |
| A wrapper class for ElementType. More... | |
| class | ElementArray |
| Fixed-size owned array of fq_zech_struct slots tied to an ARingGFFlint for the matching FLINT context. More... | |
Public Types | |
| typedef fq_zech_struct | ElementType |
| typedef ElementType | elem |
| typedef std::vector< elem > | ElementContainerType |
Static Public Attributes | |
| static const RingID | ringID = ring_GFFlintZech |
Private Attributes | |
| fq_zech_ctx_t | mContext |
| fq_nmod_ctx_t | mBigContext |
| const PolynomialRing & | mOriginalRing |
| const RingElement * | mPrimitiveElement |
| ulong * | mPPowers |
| long | mCharacteristic |
| long | mDimension |
| flint_rand_t | mRandomState |
| ElementType | mCachedGenerator |
| bool | mGeneratorComputed |
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) |
aring-style adapter for FLINT's Zech-logarithm representation of small finite fields GF(p^n).
ElementType is fq_zech_struct and every arithmetic call delegates to FLINT's fq_zech_* routines through the held mContext (fq_zech_ctx_struct*). The table-driven Zech representation makes addition fast, so this is the preferred GF(p^n) backend when the field is small enough for the lookup tables to fit. ringID = ring_GFFlintZech so VectorArithmetic can dispatch to the matching concrete specialisation. For larger fields where the Zech tables would exceed memory, use ARingGFFlintBig instead.
Definition at line 89 of file aring-gf-flint.hpp.