# This file was autogenerated! Do not modify!
# matrix interfacing Matrix.h

from .defs cimport *
from .pm_object cimport PmObject

cdef class PmMatrix(PmObject):
    cpdef resize(self, int nr, int nc)
    cpdef int rows(self)
    cpdef int cols(self)

    cpdef _set_list_of_lists(self, data)
    cpdef _set_matrix(self, mat)
    cpdef _set_plain_list(self, mat)

cdef class MatrixFloat(PmMatrix):
    cdef pm_Matrix[float] pm_obj

cdef class MatrixInt(PmMatrix):
    cdef pm_Matrix[int] pm_obj

cdef class MatrixRational(PmMatrix):
    cdef pm_Matrix[pm_Rational] pm_obj

cdef class MatrixInteger(PmMatrix):
    cdef pm_Matrix[pm_Integer] pm_obj

cdef class MatrixQuadraticExtension(PmMatrix):
    cdef pm_Matrix[pm_QuadraticExtension] pm_obj
