|
|
|
@ -973,6 +973,33 @@ CYBOZU_TEST_AUTO(Vint) |
|
|
|
|
CYBOZU_TEST_EQUAL(q2, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(r2, tbl[i].r2); |
|
|
|
|
CYBOZU_TEST_EQUAL(q2 * b + r2, a); |
|
|
|
|
r2 = 0; |
|
|
|
|
Vint::quotRem(&b, r2, a, b); |
|
|
|
|
CYBOZU_TEST_EQUAL(b, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(r2, tbl[i].r2); |
|
|
|
|
b = tbl[i].b; |
|
|
|
|
r2 = 0; |
|
|
|
|
Vint::quotRem(&a, r2, a, b); |
|
|
|
|
CYBOZU_TEST_EQUAL(a, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(r2, tbl[i].r2); |
|
|
|
|
a = tbl[i].a; |
|
|
|
|
q = 0; |
|
|
|
|
Vint::quotRem(&q, a, a, b); |
|
|
|
|
CYBOZU_TEST_EQUAL(q, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(a, tbl[i].r2); |
|
|
|
|
a = tbl[i].a; |
|
|
|
|
q = 0; |
|
|
|
|
Vint::quotRem(&q, a, a, b); |
|
|
|
|
CYBOZU_TEST_EQUAL(q, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(a, tbl[i].r2); |
|
|
|
|
a = tbl[i].a; |
|
|
|
|
q = 0; |
|
|
|
|
Vint::quotRem(&q, b, a, b); |
|
|
|
|
CYBOZU_TEST_EQUAL(q, tbl[i].q2); |
|
|
|
|
CYBOZU_TEST_EQUAL(b, tbl[i].r2); |
|
|
|
|
Vint::quotRem(&q, a, a, a); |
|
|
|
|
CYBOZU_TEST_EQUAL(q, 1); |
|
|
|
|
CYBOZU_TEST_EQUAL(a, 0); |
|
|
|
|
} |
|
|
|
|
CYBOZU_TEST_EQUAL(Vint("15") / Vint("3"), Vint("5")); |
|
|
|
|
CYBOZU_TEST_EQUAL(Vint("15") / Vint("-3"), Vint("-5")); |
|
|
|
|