3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-12 17:11:15 +00:00

put back shortcut for square test. Remove assumption in unit test

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-09-14 05:00:47 -07:00
parent 8158a500d4
commit 84bf34266b
2 changed files with 25 additions and 27 deletions

View file

@ -312,37 +312,37 @@ static void tst7() {
static void tst8() {
rational r;
ENSURE(!rational(-4).is_int_perfect_square(r) && r.is_zero());
ENSURE(!rational(-3).is_int_perfect_square(r) && r.is_zero());
ENSURE(!rational(-2).is_int_perfect_square(r) && r.is_zero());
ENSURE(!rational(-1).is_int_perfect_square(r) && r.is_zero());
ENSURE(!rational(-4).is_int_perfect_square(r));
ENSURE(!rational(-3).is_int_perfect_square(r));
ENSURE(!rational(-2).is_int_perfect_square(r));
ENSURE(!rational(-1).is_int_perfect_square(r));
ENSURE(rational(0).is_int_perfect_square(r) && r.is_zero());
ENSURE(rational(1).is_int_perfect_square(r) && r.is_one());
ENSURE(!rational(2).is_int_perfect_square(r) && r == rational(2));
ENSURE(!rational(3).is_int_perfect_square(r) && r == rational(2));
ENSURE(!rational(2).is_int_perfect_square(r));
ENSURE(!rational(3).is_int_perfect_square(r));
ENSURE(rational(4).is_int_perfect_square(r) && r == rational(2));
ENSURE(!rational(5).is_int_perfect_square(r) && r == rational(3));
ENSURE(!rational(6).is_int_perfect_square(r) && r == rational(3));
ENSURE(!rational(7).is_int_perfect_square(r) && r == rational(3));
ENSURE(!rational(8).is_int_perfect_square(r) && r == rational(3));
ENSURE(!rational(5).is_int_perfect_square(r));
ENSURE(!rational(6).is_int_perfect_square(r));
ENSURE(!rational(7).is_int_perfect_square(r));
ENSURE(!rational(8).is_int_perfect_square(r));
ENSURE(rational(9).is_int_perfect_square(r) && r == rational(3));
ENSURE(!rational(10).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(11).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(12).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(13).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(14).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(15).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(10).is_int_perfect_square(r));
ENSURE(!rational(11).is_int_perfect_square(r));
ENSURE(!rational(12).is_int_perfect_square(r));
ENSURE(!rational(13).is_int_perfect_square(r));
ENSURE(!rational(14).is_int_perfect_square(r));
ENSURE(!rational(15).is_int_perfect_square(r));
ENSURE(rational(16).is_int_perfect_square(r) && r == rational(4));
ENSURE(!rational(17).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(18).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(19).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(20).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(21).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(22).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(23).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(24).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(17).is_int_perfect_square(r));
ENSURE(!rational(18).is_int_perfect_square(r));
ENSURE(!rational(19).is_int_perfect_square(r));
ENSURE(!rational(20).is_int_perfect_square(r));
ENSURE(!rational(21).is_int_perfect_square(r));
ENSURE(!rational(22).is_int_perfect_square(r));
ENSURE(!rational(23).is_int_perfect_square(r));
ENSURE(!rational(24).is_int_perfect_square(r));
ENSURE(rational(25).is_int_perfect_square(r) && r == rational(5));
ENSURE(!rational(26).is_int_perfect_square(r) && r == rational(6));
ENSURE(!rational(26).is_int_perfect_square(r));
ENSURE(rational(36).is_int_perfect_square(r) && r == rational(6));
ENSURE(rational(1,9).is_perfect_square(r) && r == rational(1,3));