@@ -57,12 +57,13 @@ void bench_setup(void* arg) {
5757}
5858
5959void bench_scalar_add (void * arg ) {
60- int i ;
60+ int i , j = 0 ;
6161 bench_inv * data = (bench_inv * )arg ;
6262
6363 for (i = 0 ; i < 2000000 ; i ++ ) {
64- secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
64+ j += secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
6565 }
66+ CHECK (j <= 2000000 );
6667}
6768
6869void bench_scalar_negate (void * arg ) {
@@ -106,23 +107,25 @@ void bench_scalar_split(void* arg) {
106107#endif
107108
108109void bench_scalar_inverse (void * arg ) {
109- int i ;
110+ int i , j = 0 ;
110111 bench_inv * data = (bench_inv * )arg ;
111112
112113 for (i = 0 ; i < 2000 ; i ++ ) {
113114 secp256k1_scalar_inverse (& data -> scalar_x , & data -> scalar_x );
114- secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
115+ j += secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
115116 }
117+ CHECK (j <= 2000 );
116118}
117119
118120void bench_scalar_inverse_var (void * arg ) {
119- int i ;
121+ int i , j = 0 ;
120122 bench_inv * data = (bench_inv * )arg ;
121123
122124 for (i = 0 ; i < 2000 ; i ++ ) {
123125 secp256k1_scalar_inverse_var (& data -> scalar_x , & data -> scalar_x );
124- secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
126+ j += secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
125127 }
128+ CHECK (j <= 2000 );
126129}
127130
128131void bench_field_normalize (void * arg ) {
@@ -182,15 +185,16 @@ void bench_field_inverse_var(void* arg) {
182185}
183186
184187void bench_field_sqrt (void * arg ) {
185- int i ;
188+ int i , j = 0 ;
186189 bench_inv * data = (bench_inv * )arg ;
187190 secp256k1_fe t ;
188191
189192 for (i = 0 ; i < 20000 ; i ++ ) {
190193 t = data -> fe_x ;
191- secp256k1_fe_sqrt (& data -> fe_x , & t );
194+ j += secp256k1_fe_sqrt (& data -> fe_x , & t );
192195 secp256k1_fe_add (& data -> fe_x , & data -> fe_y );
193196 }
197+ CHECK (j <= 20000 );
194198}
195199
196200void bench_group_double_var (void * arg ) {
@@ -230,32 +234,37 @@ void bench_group_add_affine_var(void* arg) {
230234}
231235
232236void bench_group_jacobi_var (void * arg ) {
233- int i ;
237+ int i , j = 0 ;
234238 bench_inv * data = (bench_inv * )arg ;
235239
236240 for (i = 0 ; i < 20000 ; i ++ ) {
237- secp256k1_gej_has_quad_y_var (& data -> gej_x );
241+ j += secp256k1_gej_has_quad_y_var (& data -> gej_x );
238242 }
243+ CHECK (j == 20000 );
239244}
240245
241246void bench_ecmult_wnaf (void * arg ) {
242- int i ;
247+ int i , bits = 0 , overflow = 0 ;
243248 bench_inv * data = (bench_inv * )arg ;
244249
245250 for (i = 0 ; i < 20000 ; i ++ ) {
246- secp256k1_ecmult_wnaf (data -> wnaf , 256 , & data -> scalar_x , WINDOW_A );
247- secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
251+ bits += secp256k1_ecmult_wnaf (data -> wnaf , 256 , & data -> scalar_x , WINDOW_A );
252+ overflow += secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
248253 }
254+ CHECK (overflow >= 0 );
255+ CHECK (bits <= 256 * 20000 );
249256}
250257
251258void bench_wnaf_const (void * arg ) {
252- int i ;
259+ int i , bits = 0 , overflow = 0 ;
253260 bench_inv * data = (bench_inv * )arg ;
254261
255262 for (i = 0 ; i < 20000 ; i ++ ) {
256- secp256k1_wnaf_const (data -> wnaf , & data -> scalar_x , WINDOW_A , 256 );
257- secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
263+ bits += secp256k1_wnaf_const (data -> wnaf , & data -> scalar_x , WINDOW_A , 256 );
264+ overflow += secp256k1_scalar_add (& data -> scalar_x , & data -> scalar_x , & data -> scalar_y );
258265 }
266+ CHECK (overflow >= 0 );
267+ CHECK (bits <= 256 * 20000 );
259268}
260269
261270
@@ -312,7 +321,7 @@ void bench_context_sign(void* arg) {
312321
313322#ifndef USE_NUM_NONE
314323void bench_num_jacobi (void * arg ) {
315- int i ;
324+ int i , j = 0 ;
316325 bench_inv * data = (bench_inv * )arg ;
317326 secp256k1_num nx , norder ;
318327
@@ -321,8 +330,9 @@ void bench_num_jacobi(void* arg) {
321330 secp256k1_scalar_get_num (& norder , & data -> scalar_y );
322331
323332 for (i = 0 ; i < 200000 ; i ++ ) {
324- secp256k1_num_jacobi (& nx , & norder );
333+ j += secp256k1_num_jacobi (& nx , & norder );
325334 }
335+ CHECK (j <= 200000 );
326336}
327337#endif
328338
0 commit comments