3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-07 09:30:54 +00:00
z3/src/muz/spacer/spacer_matrix.h
Nikolaj Bjorner d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00

45 lines
750 B
C++

/*++
Copyright (c) 2017 Arie Gurfinkel
Module Name:
spacer_matrix.h
Abstract:
a matrix
Author:
Bernhard Gleiss
Revision History:
--*/
#pragma once
#include "util/rational.h"
#include "util/vector.h"
namespace spacer {
class spacer_matrix {
public:
spacer_matrix(unsigned m, unsigned n); // m rows, n columns
unsigned num_rows();
unsigned num_cols();
const rational& get(unsigned i, unsigned j);
void set(unsigned i, unsigned j, const rational& v);
unsigned perform_gaussian_elimination();
void print_matrix();
void normalize();
private:
unsigned m_num_rows;
unsigned m_num_cols;
vector<vector<rational>> m_matrix;
};
}