Skip to content

Commit d35e7c6

Browse files
committed
Added back second test
1 parent ba952e3 commit d35e7c6

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

demo/test.c

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1531,8 +1531,46 @@ static int test_mp_decr(void)
15311531

15321532
static int test_mp_is_small_prime(void)
15331533
{
1534+
mp_sieve sieve;
1535+
mp_err e;
1536+
int i, test_size;
1537+
1538+
const mp_sieve_prime to_test[] = {
1539+
52, 137, 153, 179, 6, 153, 53, 132, 150, 65,
1540+
27414, 36339, 36155, 11067, 52060, 5741,
1541+
29755, 2698, 52572, 13053, 9375, 47241,39626,
1542+
207423, 128857, 37419, 141696, 189465,
1543+
41503, 127370, 91673, 8473, 479142414, 465566339,
1544+
961126169, 1057886067, 1222702060, 1017450741,
1545+
1019879755, 72282698, 2048787577, 2058368053
1546+
};
1547+
const mp_sieve_prime tested[] = {
1548+
0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
1549+
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0
1550+
};
1551+
bool result;
1552+
1553+
mp_sieve_init(&sieve);
1554+
1555+
test_size = (int)(sizeof(to_test)/sizeof(mp_sieve_prime));
15341556

1557+
for (i = 0; i < test_size; i++) {
1558+
if ((e = mp_is_small_prime(to_test[i], &result, &sieve)) != MP_OKAY) {
1559+
fprintf(stderr,"mp_is_small_prime failed: \"%s\"\n",mp_error_to_string(e));
1560+
goto LTM_ERR;
1561+
}
1562+
if (result != tested[i]) {
1563+
fprintf(stderr,"mp_is_small_prime failed for %lu. Said %lu but is %lu \n",
1564+
(unsigned long)to_test[i], (unsigned long)result, (unsigned long)tested[i]);
1565+
goto LTM_ERR;
1566+
}
1567+
}
1568+
mp_sieve_clear(&sieve);
15351569
return EXIT_SUCCESS;
1570+
LTM_ERR:
1571+
mp_sieve_clear(&sieve);
1572+
return EXIT_FAILURE;
1573+
15361574
}
15371575

15381576
static int test_mp_next_small_prime(void)

0 commit comments

Comments
 (0)