#ifndef _SINGULAR_MATRIX_H
#define _SINGULAR_MATRIX_H

#include "singular.h"
#include "Vector.h"

//#include <algorithm>
//#include <cstring>
//#include <iostream>


typedef struct class_Matrix Matrix_t;
struct class_Matrix {
	double* pBlock;

	Matrix_t (*clone)(struct class_Matrix *p);
	void (*filledwith)(struct class_Matrix *p,const double values[]);
	double (*operator)(struct class_Matrix *p, int i, int j);
	Vector_t (*row)(struct class_Matrix *p, int i);
	Vector_t (*column)(struct class_Matrix *p, int j);
	void (*release)(struct class_Matrix *p);
};


#endif
