# distutils: libraries = flint
# distutils: depends = flint/mpfr_mat.h

################################################################################
# This file is auto-generated by the script
#   SAGE_ROOT/tools/flint-autogen/flint_autogen.py.
# From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
# Do not modify by hand! Fix and rerun the script instead.
################################################################################

from libc.stdio cimport FILE
from sage.libs.gmp.types cimport *
from sage.libs.mpfr.types cimport *
from sage.libs.flint.types cimport *

cdef extern from "flint_wrap.h":
    void mpfr_mat_init(mpfr_mat_t mat, slong rows, slong cols, mpfr_prec_t prec) noexcept
    void mpfr_mat_clear(mpfr_mat_t mat) noexcept
    __mpfr_struct * mpfr_mat_entry(const mpfr_mat_t mat, slong i, slong j) noexcept
    void mpfr_mat_swap(mpfr_mat_t mat1, mpfr_mat_t mat2) noexcept
    void mpfr_mat_swap_entrywise(mpfr_mat_t mat1, mpfr_mat_t mat2) noexcept
    void mpfr_mat_set(mpfr_mat_t mat1, const mpfr_mat_t mat2) noexcept
    void mpfr_mat_zero(mpfr_mat_t mat) noexcept
    bint mpfr_mat_equal(const mpfr_mat_t mat1, const mpfr_mat_t mat2) noexcept
    void mpfr_mat_randtest(mpfr_mat_t mat, flint_rand_t state) noexcept
    void mpfr_mat_mul_classical(mpfr_mat_t C, const mpfr_mat_t A, const mpfr_mat_t B, mpfr_rnd_t rnd) noexcept
