3#ifndef _dmat_zz_flint_hpp_
4#define _dmat_zz_flint_hpp_
44#include <M2/gc-include.h>
46#pragma GCC diagnostic push
47#pragma GCC diagnostic ignored "-Wconversion"
48#include <flint/fmpz_mat.h>
49#pragma GCC diagnostic pop
51template <
typename ACoeffRing>
85 fmpz_mat_init(
mArray, nrows, ncols);
112 return *fmpz_mat_entry(
mArray, row, column);
118 return *fmpz_mat_entry(
mArray, row, column);
121 void resize(
size_t new_nrows,
size_t new_ncols)
123 DMat newMatrix(
ring(), new_nrows, new_ncols);
M2::ARingZZ — FLINT-backed arbitrary-precision integers with small-value inlining.
void resize(size_t new_nrows, size_t new_ncols)
DMat(const DMat< ACoeffRing > &M)
const ElementType * unsafeArray() const
DMat(const ACoeffRing &R, size_t nrows, size_t ncols)
ElementType & entry(size_t row, size_t column)
ACoeffRing::ElementType ElementType
const ACoeffRing & ring() const
void swap(DMat< ACoeffRing > &M)
const ElementType & entry(size_t row, size_t column) const
ElementType *& unsafeArray()
size_t numColumns() const
const fmpz_mat_t & fmpz_mat() const
const ACoeffRing & ring() const
size_t numColumns() const
wrapper for the flint fmpz_t integer representation
void swap(mpfr::mpreal &x, mpfr::mpreal &y)