3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-23 04:38:53 +00:00

other components

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-10-02 11:48:48 -07:00
parent e9eab22e5c
commit 68269c43a6
250 changed files with 70871 additions and 0 deletions

View file

@ -0,0 +1,45 @@
#include "simplex_polynomial.h"
void tst_simplex_polynomial()
{
polynomial p1, p2, p3, p4;
simplex_variable v1(1), v2(2), v3(3), v4(4), v5(5);
monomial m1(v1), m2(v2), m3(v3), m4(v4);
m1 = monomial(v1);
m1 *= monomial(v2);
m1 *= monomial(v1);
m1.display(std::cout) << std::endl;
m1.normalize();
m1.display(std::cout) << std::endl;
m2 = m1;
SASSERT(m1 == m2);
p1 = polynomial(rational(1,2));
SASSERT(p1.is_const());
p1 += polynomial(v1);
SASSERT(!p1.is_const());
p1 += polynomial(v2);
p1 *= polynomial(v2);
p1 -= polynomial(v3);
p1 += polynomial(rational(2,3));
p1.normalize();
p1.display(std::cout) << std::endl;
SASSERT(p1[0].size() == 0); // first element is a constant.
p1 = polynomial(v1);
p2 = polynomial(v2);
p3 = polynomial(v3);
p3 += p2;
p3 *= p1;
p3.display(std::cout) << std::endl; // multiplication distributes.
SASSERT(p3.size() == 2);
}