mirror of
https://github.com/Z3Prover/z3
synced 2025-08-02 17:30:23 +00:00
resource-limit related fixes in src/test
This commit is contained in:
parent
e91b1e1da4
commit
c2ab9b72dc
11 changed files with 672 additions and 569 deletions
|
@ -3,7 +3,7 @@
|
|||
Copyright (c) 2015 Microsoft Corporation
|
||||
|
||||
--*/
|
||||
|
||||
#include"rlimit.h"
|
||||
#include "hilbert_basis.h"
|
||||
|
||||
/*
|
||||
|
@ -15,12 +15,12 @@ namespace karr {
|
|||
struct matrix {
|
||||
vector<vector<rational> > A;
|
||||
vector<rational> b;
|
||||
|
||||
|
||||
unsigned size() const { return A.size(); }
|
||||
|
||||
void reset() {
|
||||
A.reset();
|
||||
b.reset();
|
||||
void reset() {
|
||||
A.reset();
|
||||
b.reset();
|
||||
}
|
||||
|
||||
matrix& operator=(matrix const& other) {
|
||||
|
@ -46,7 +46,8 @@ namespace karr {
|
|||
|
||||
// treat src as a homogeneous matrix.
|
||||
void dualizeH(matrix& dst, matrix const& src) {
|
||||
hilbert_basis hb;
|
||||
reslimit rl;
|
||||
hilbert_basis hb(rl);
|
||||
for (unsigned i = 0; i < src.size(); ++i) {
|
||||
vector<rational> v(src.A[i]);
|
||||
v.push_back(src.b[i]);
|
||||
|
@ -74,7 +75,8 @@ namespace karr {
|
|||
|
||||
// treat src as an inhomegeneous matrix.
|
||||
void dualizeI(matrix& dst, matrix const& src) {
|
||||
hilbert_basis hb;
|
||||
reslimit rl;
|
||||
hilbert_basis hb(rl);
|
||||
for (unsigned i = 0; i < src.size(); ++i) {
|
||||
hb.add_eq(src.A[i], -src.b[i]);
|
||||
}
|
||||
|
@ -136,7 +138,7 @@ namespace karr {
|
|||
}
|
||||
for (unsigned i = 0; i < src.size(); ++i) {
|
||||
T.A.push_back(src.A[i]);
|
||||
T.A.back().append(zeros);
|
||||
T.A.back().append(zeros);
|
||||
}
|
||||
T.b.append(src.b);
|
||||
T.append(Ab);
|
||||
|
@ -146,7 +148,7 @@ namespace karr {
|
|||
dualizeI(TD, T);
|
||||
TD.display(std::cout << "TD:\n");
|
||||
for (unsigned i = 0; i < TD.size(); ++i) {
|
||||
vector<rational> v;
|
||||
vector<rational> v;
|
||||
v.append(src.size(), TD.A[i].c_ptr() + src.size());
|
||||
dst.A.push_back(v);
|
||||
dst.b.push_back(TD.b[i]);
|
||||
|
@ -200,8 +202,8 @@ namespace karr {
|
|||
static void tst1() {
|
||||
matrix Theta;
|
||||
matrix Ab;
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
Theta.A.push_back(V(1, 0));
|
||||
Theta.b.push_back(R(0));
|
||||
Theta.A.push_back(V(0, 1));
|
||||
|
@ -232,7 +234,7 @@ namespace karr {
|
|||
joinD(e2, t2D, ThetaD);
|
||||
|
||||
t2D.display(std::cout << "t2D\n");
|
||||
e2.display(std::cout << "e2\n");
|
||||
e2.display(std::cout << "e2\n");
|
||||
}
|
||||
|
||||
void tst2() {
|
||||
|
@ -264,7 +266,7 @@ namespace karr {
|
|||
|
||||
N.display(std::cout << "N\n");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void tst3() {
|
||||
|
@ -288,7 +290,7 @@ namespace karr {
|
|||
|
||||
N.display(std::cout << "N\n");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue