def set_shape(self, shape):
    """
    Sets the shape of the array to the given array.
    Highly unsafe method. Does no checking.
    Do not use this unless you know what you are doing.
    """

    m = ct.c_uint(shape[0])
    n = ct.c_uint(shape[1])

    err_code = _eigenmat.set_shape(self.p_mat, m, n)
    if err_code:
      raise generate_exception(err_code)

    return self

    Sets the shape of the array to the given array.
    Highly unsafe method. Does no checking.
    Do not use this unless you know what you are doing.
    
eigenmat/eigenmat.py