@@ -10,23 +10,24 @@ int main(void)
1010 size_t x ;
1111 bool y ;
1212 mp_int q , p ;
13+ mp_err err ;
1314 FILE * out ;
1415 clock_t t1 ;
1516 mp_digit z ;
1617
17- mp_init_multi (& q , & p , NULL );
18+ if (( err = mp_init_multi (& q , & p , NULL )) != MP_OKAY ) goto LTM_ERR ;
1819
1920 out = fopen ("2kprime.1" , "w" );
2021 if (out != NULL ) {
2122 for (x = 0 ; x < (sizeof (sizes ) / sizeof (sizes [0 ])); x ++ ) {
2223top :
23- mp_2expt (& q , sizes [x ]);
24- mp_add_d (& q , 3uL , & q );
24+ if (( err = mp_2expt (& q , sizes [x ])) != MP_OKAY ) goto LTM_ERR ;
25+ if (( err = mp_add_d (& q , 3uL , & q )) != MP_OKAY ) goto LTM_ERR ;
2526 z = -3 ;
2627
2728 t1 = clock ();
2829 for (;;) {
29- mp_sub_d (& q , 4uL , & q );
30+ if (( err = mp_sub_d (& q , 4uL , & q )) != MP_OKAY ) goto LTM_ERR ;
3031 z += 4uL ;
3132
3233 if (z > MP_MASK ) {
@@ -42,21 +43,21 @@ int main(void)
4243 }
4344
4445 /* quick test on q */
45- mp_prime_is_prime (& q , 1 , & y );
46+ if (( err = mp_prime_is_prime (& q , 1 , & y )) != MP_OKAY ) goto LTM_ERR ;
4647 if (!y ) {
4748 continue ;
4849 }
4950
5051 /* find (q-1)/2 */
51- mp_sub_d (& q , 1uL , & p );
52- mp_div_2 (& p , & p );
53- mp_prime_is_prime (& p , 3 , & y );
52+ if (( err = mp_sub_d (& q , 1uL , & p )) != MP_OKAY ) goto LTM_ERR ;
53+ if (( err = mp_div_2 (& p , & p )) != MP_OKAY ) goto LTM_ERR ;
54+ if (( err = mp_prime_is_prime (& p , 3 , & y )) != MP_OKAY ) goto LTM_ERR ;
5455 if (!y ) {
5556 continue ;
5657 }
5758
5859 /* test on q */
59- mp_prime_is_prime (& q , 3 , & y );
60+ if (( err = mp_prime_is_prime (& q , 3 , & y )) != MP_OKAY ) goto LTM_ERR ;
6061 if (!y ) {
6162 continue ;
6263 }
@@ -69,13 +70,13 @@ int main(void)
6970 goto top ;
7071 }
7172
72- mp_to_decimal (& q , buf , sizeof (buf ));
73+ if (( err = mp_to_decimal (& q , buf , sizeof (buf ))) != MP_OKAY ) goto LTM_ERR ;
7374 printf ("\n\n%d-bits (k = %lu) = %s\n" , sizes [x ], z , buf );
7475 fprintf (out , "%d-bits (k = %lu) = %s\n" , sizes [x ], z , buf );
7576 fflush (out );
7677 }
7778 fclose (out );
7879 }
79-
80+ LTM_ERR :
8081 return 0 ;
8182}
0 commit comments