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

RAII wrapper around FLINT's fmpz_mat_t for translating dense ZZ-coefficient matrices between the engine and FLINT. More...

#include <dmat-qq-interface-flint.hpp>

Public Member Functions

 FlintZZMat (const DMatZZGMP &mat)
 FlintZZMat (long numrows, long numcolumns)
 ~FlintZZMat ()
fmpz_mat_struct * value ()
void toDMat (DMatZZGMP &result)
long numRows () const
long numColumns () const

Static Private Member Functions

static void to_fmpz_mat (const DMatZZGMP &mat1, fmpz_mat_t result_mat)
static void from_fmpz_mat (fmpz_mat_t mat, DMatZZGMP &result_mat)

Private Attributes

fmpz_mat_t mMatrix

Detailed Description

RAII wrapper around FLINT's fmpz_mat_t for translating dense ZZ-coefficient matrices between the engine and FLINT.

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

Constructed from a DMatZZGMP (or empty with given dimensions), the wrapper holds an initialised fmpz_mat_t for the duration of its lifetime and frees it via fmpz_mat_clear in the destructor. to_fmpz_mat / from_fmpz_mat translate entry by entry via fmpz_set_mpz / fmpz_get_mpz. Used so FLINT's matrix routines (HNF, determinant, ...) can run against engine matrices that store coefficients as GMP mpzs — a stopgap until DMat<ARingQQ> is rebased onto FLINT integers directly.

Definition at line 56 of file dmat-qq-interface-flint.hpp.


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