@@ -1601,18 +1601,21 @@ static int test_mp_next_small_prime(void)
16011601 };
16021602
16031603#if ( (defined MP_64BIT ) && (defined MP_SIEVE_USE_LARGE_SIEVE ) )
1604- /* primesum up to 2^33. Would fit into a 64-bit type */
1605- /*const char *primesum_64 = "1649816561794735645";*/
16061604 /* primesum up to 2^64
16071605 $ time /home/czurnieden/GITHUB/primesum/primesum 2^64
16081606 3879578600671960388666457126750869198
16091607
16101608 real 37m6,448s
16111609 user 107m17,056s
16121610 sys 0m12,152s
1611+ I think we should use something smaller.
16131612 */
1614- const char * primesum_64 = "3879578600671960388666457126750869198" ;
1613+ /* const char *primesum_64 = "3879578600671960388666457126750869198"; */
1614+
1615+ /* primesum up to 2^33. */
1616+ const char * primesum_64 = "1649816561794735645" ;
16151617#else
1618+ /* TODO: Needs a minute here. Might cause a time-out in Github CI tests: check */
16161619 const char * primesum_32 = "425649736193687430" ;
16171620#endif
16181621
@@ -1636,13 +1639,15 @@ static int test_mp_next_small_prime(void)
16361639
16371640 DOR (mp_init_multi (& primesum , & t , NULL ));
16381641 start = clock ();
1639- for (p = 0 ;ret < (mp_sieve_prime )MP_SIEVE_BIGGEST_PRIME ;p ++ ) {
1642+ for (p = 0 ;ret < (mp_sieve_prime )MP_SIEVE_BIGGEST_PRIME ;) {
16401643 DO (mp_next_small_prime (p , & ret , & sieve ));
1644+ p = ret + 1 ;
16411645#if ( (defined MP_64BIT ) && (defined MP_SIEVE_USE_LARGE_SIEVE ) )
16421646 mp_set_u64 (& t , ret );
16431647#else
16441648 mp_set_u32 (& t , ret );
16451649#endif
1650+ printf (" %" MP_SIEVE_PR_UINT "\n" , ret );
16461651 DO (mp_add (& primesum , & t , & primesum ));
16471652 }
16481653 stop = clock ();
@@ -2427,9 +2432,10 @@ static int unit_tests(int argc, char **argv)
24272432 T1 (mp_prime_next_prime , MP_PRIME_NEXT_PRIME ),
24282433 T1 (mp_prime_rand , MP_PRIME_RAND ),
24292434 T1 (mp_rand , MP_RAND ),
2430- T1 (mp_is_small_prime , ),
2431- T1 (mp_next_small_prime , MP_NEXT_SMALL_PRIME_C ),
2432- T1 (mp_prec_small_prime , MP_PREC_SMALL_PRIME_C ),
2435+
2436+ T1 (mp_is_small_prime , MP_IS_SMALL_PRIME ),
2437+ T1 (mp_next_small_prime , MP_NEXT_SMALL_PRIME ),
2438+ T1 (mp_prec_small_prime , MP_PREC_SMALL_PRIME ),
24332439
24342440 T1 (mp_read_radix , MP_READ_RADIX ),
24352441 T1 (mp_read_write_ubin , MP_TO_UBIN ),
0 commit comments