mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
kernel
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
54648f6b50
commit
5ca3bc3212
3 changed files with 54 additions and 76 deletions
|
@ -31,23 +31,23 @@ static vector<R> vec(int i, int j, int k) {
|
|||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l) {
|
||||
// vector<R> nv = vec(i, j, k);
|
||||
// nv.push_back(R(l));
|
||||
// return nv;
|
||||
// }
|
||||
static vector<R> vec(int i, int j, int k, int l) {
|
||||
vector<R> nv = vec(i, j, k);
|
||||
nv.push_back(R(l));
|
||||
return nv;
|
||||
}
|
||||
|
||||
/// static vector<R> vec(int i, int j, int k, int l, int x) {
|
||||
/// vector<R> nv = vec(i, j, k, l);
|
||||
/// nv.push_back(R(x));
|
||||
/// return nv;
|
||||
/// }
|
||||
static vector<R> vec(int i, int j, int k, int l, int x) {
|
||||
vector<R> nv = vec(i, j, k, l);
|
||||
nv.push_back(R(x));
|
||||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l, int x, int y) {
|
||||
// vector<R> nv = vec(i, j, k, l, x);
|
||||
// nv.push_back(R(y));
|
||||
// return nv;
|
||||
// }
|
||||
static vector<R> vec(int i, int j, int k, int l, int x, int y) {
|
||||
vector<R> nv = vec(i, j, k, l, x);
|
||||
nv.push_back(R(y));
|
||||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l, int x, int y, int z) {
|
||||
// vector<R> nv = vec(i, j, k, l, x, y);
|
||||
|
@ -133,7 +133,7 @@ static void test4() {
|
|||
}
|
||||
|
||||
static void add(qmatrix& m, vector<R> const& v) {
|
||||
m.ensure_var(v.size());
|
||||
m.ensure_var(v.size()-1);
|
||||
auto r = m.mk_row();
|
||||
for (unsigned u = 0; u < v.size(); ++u)
|
||||
m.add_var(r, v[u].to_mpq(), u);
|
||||
|
@ -142,12 +142,16 @@ static void add(qmatrix& m, vector<R> const& v) {
|
|||
static void test5() {
|
||||
unsynch_mpq_manager m;
|
||||
qmatrix M(m);
|
||||
add(M, vec(1, 2, 3));
|
||||
add(M, vec(2, 2, 4));
|
||||
add(M, vec(1, 0, -3, 0, 2, -8));
|
||||
add(M, vec(0, 1, 5, 0, -1, 4));
|
||||
add(M, vec(0, 0, 0, 1, 7, -9));
|
||||
add(M, vec(0, 0, 0, 0, 0, 0));
|
||||
M.display(std::cout);
|
||||
vector<vector<rational>> K;
|
||||
kernel(M, K);
|
||||
std::cout << "after\n";
|
||||
for (auto const& v : K)
|
||||
std::cout << v << "\n";
|
||||
M.display(std::cout);
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue