|
Macaulay2 Engine
|
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 |
RAII wrapper around FLINT's fmpz_mat_t for translating dense ZZ-coefficient matrices between the engine and FLINT.
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.