1
- #define MP_WUR /* TODO: result checks disabled for now, T.b.d. if it should even be done here */
2
1
#include "shared.h"
3
2
4
3
#ifdef LTM_MTEST_REAL_RAND
@@ -47,27 +46,27 @@ static int mtest_opponent(void)
47
46
switch (abs (rand ()) % 7 ) {
48
47
case 0 :
49
48
mp_clear (& a );
50
- mp_init (& a );
49
+ DO ( mp_init (& a ) );
51
50
break ;
52
51
case 1 :
53
52
mp_clear (& b );
54
- mp_init (& b );
53
+ DO ( mp_init (& b ) );
55
54
break ;
56
55
case 2 :
57
56
mp_clear (& c );
58
- mp_init (& c );
57
+ DO ( mp_init (& c ) );
59
58
break ;
60
59
case 3 :
61
60
mp_clear (& d );
62
- mp_init (& d );
61
+ DO ( mp_init (& d ) );
63
62
break ;
64
63
case 4 :
65
64
mp_clear (& e );
66
- mp_init (& e );
65
+ DO ( mp_init (& e ) );
67
66
break ;
68
67
case 5 :
69
68
mp_clear (& f );
70
- mp_init (& f );
69
+ DO ( mp_init (& f ) );
71
70
break ;
72
71
case 6 :
73
72
break ; /* don't clear any */
@@ -84,13 +83,13 @@ static int mtest_opponent(void)
84
83
if (strcmp (cmd , "mul2d" ) == 0 ) {
85
84
++ mul2d_n ;
86
85
FGETS (buf , 4095 , stdin );
87
- mp_read_radix (& a , buf , 64 );
86
+ DO ( mp_read_radix (& a , buf , 64 ) );
88
87
FGETS (buf , 4095 , stdin );
89
88
sscanf (buf , "%u" , & rr );
90
89
FGETS (buf , 4095 , stdin );
91
- mp_read_radix (& b , buf , 64 );
90
+ DO ( mp_read_radix (& b , buf , 64 ) );
92
91
93
- mp_mul_2d (& a , (int )rr , & a );
92
+ DO ( mp_mul_2d (& a , (int )rr , & a ) );
94
93
a .sign = b .sign ;
95
94
if (mp_cmp (& a , & b ) != MP_EQ ) {
96
95
printf ("mul2d failed, rr == %u\n" , rr );
@@ -101,13 +100,13 @@ static int mtest_opponent(void)
101
100
} else if (strcmp (cmd , "div2d" ) == 0 ) {
102
101
++ div2d_n ;
103
102
FGETS (buf , 4095 , stdin );
104
- mp_read_radix (& a , buf , 64 );
103
+ DO ( mp_read_radix (& a , buf , 64 ) );
105
104
FGETS (buf , 4095 , stdin );
106
105
sscanf (buf , "%u" , & rr );
107
106
FGETS (buf , 4095 , stdin );
108
- mp_read_radix (& b , buf , 64 );
107
+ DO ( mp_read_radix (& b , buf , 64 ) );
109
108
110
- mp_div_2d (& a , (int )rr , & a , & e );
109
+ DO ( mp_div_2d (& a , (int )rr , & a , & e ) );
111
110
a .sign = b .sign ;
112
111
if ((a .used == b .used ) && (a .used == 0 )) {
113
112
a .sign = b .sign = MP_ZPOS ;
@@ -121,13 +120,13 @@ static int mtest_opponent(void)
121
120
} else if (strcmp (cmd , "add" ) == 0 ) {
122
121
++ add_n ;
123
122
FGETS (buf , 4095 , stdin );
124
- mp_read_radix (& a , buf , 64 );
123
+ DO ( mp_read_radix (& a , buf , 64 ) );
125
124
FGETS (buf , 4095 , stdin );
126
- mp_read_radix (& b , buf , 64 );
125
+ DO ( mp_read_radix (& b , buf , 64 ) );
127
126
FGETS (buf , 4095 , stdin );
128
- mp_read_radix (& c , buf , 64 );
129
- mp_copy (& a , & d );
130
- mp_add (& d , & b , & d );
127
+ DO ( mp_read_radix (& c , buf , 64 ) );
128
+ DO ( mp_copy (& a , & d ) );
129
+ DO ( mp_add (& d , & b , & d ) );
131
130
if (mp_cmp (& c , & d ) != MP_EQ ) {
132
131
printf ("add %lu failure!\n" , add_n );
133
132
draw (& a );
@@ -140,9 +139,9 @@ static int mtest_opponent(void)
140
139
/* test the sign/unsigned storage functions */
141
140
142
141
rr = (unsigned )mp_sbin_size (& c );
143
- mp_to_sbin (& c , (unsigned char * ) cmd , (size_t )rr , NULL );
142
+ DO ( mp_to_sbin (& c , (unsigned char * ) cmd , (size_t )rr , NULL ) );
144
143
memset (cmd + rr , rand () & 0xFF , sizeof (cmd ) - rr );
145
- mp_from_sbin (& d , (unsigned char * ) cmd , (size_t )rr );
144
+ DO ( mp_from_sbin (& d , (unsigned char * ) cmd , (size_t )rr ) );
146
145
if (mp_cmp (& c , & d ) != MP_EQ ) {
147
146
printf ("mp_signed_bin failure!\n" );
148
147
draw (& c );
@@ -151,9 +150,9 @@ static int mtest_opponent(void)
151
150
}
152
151
153
152
rr = (unsigned )mp_ubin_size (& c );
154
- mp_to_ubin (& c , (unsigned char * ) cmd , (size_t )rr , NULL );
153
+ DO ( mp_to_ubin (& c , (unsigned char * ) cmd , (size_t )rr , NULL ) );
155
154
memset (cmd + rr , rand () & 0xFF , sizeof (cmd ) - rr );
156
- mp_from_ubin (& d , (unsigned char * ) cmd , (size_t )rr );
155
+ DO ( mp_from_ubin (& d , (unsigned char * ) cmd , (size_t )rr ) );
157
156
if (mp_cmp_mag (& c , & d ) != MP_EQ ) {
158
157
printf ("mp_unsigned_bin failure!\n" );
159
158
draw (& c );
@@ -164,13 +163,13 @@ static int mtest_opponent(void)
164
163
} else if (strcmp (cmd , "sub" ) == 0 ) {
165
164
++ sub_n ;
166
165
FGETS (buf , 4095 , stdin );
167
- mp_read_radix (& a , buf , 64 );
166
+ DO ( mp_read_radix (& a , buf , 64 ) );
168
167
FGETS (buf , 4095 , stdin );
169
- mp_read_radix (& b , buf , 64 );
168
+ DO ( mp_read_radix (& b , buf , 64 ) );
170
169
FGETS (buf , 4095 , stdin );
171
- mp_read_radix (& c , buf , 64 );
172
- mp_copy (& a , & d );
173
- mp_sub (& d , & b , & d );
170
+ DO ( mp_read_radix (& c , buf , 64 ) );
171
+ DO ( mp_copy (& a , & d ) );
172
+ DO ( mp_sub (& d , & b , & d ) );
174
173
if (mp_cmp (& c , & d ) != MP_EQ ) {
175
174
printf ("sub %lu failure!\n" , sub_n );
176
175
draw (& a );
@@ -182,13 +181,13 @@ static int mtest_opponent(void)
182
181
} else if (strcmp (cmd , "mul" ) == 0 ) {
183
182
++ mul_n ;
184
183
FGETS (buf , 4095 , stdin );
185
- mp_read_radix (& a , buf , 64 );
184
+ DO ( mp_read_radix (& a , buf , 64 ) );
186
185
FGETS (buf , 4095 , stdin );
187
- mp_read_radix (& b , buf , 64 );
186
+ DO ( mp_read_radix (& b , buf , 64 ) );
188
187
FGETS (buf , 4095 , stdin );
189
- mp_read_radix (& c , buf , 64 );
190
- mp_copy (& a , & d );
191
- mp_mul (& d , & b , & d );
188
+ DO ( mp_read_radix (& c , buf , 64 ) );
189
+ DO ( mp_copy (& a , & d ) );
190
+ DO ( mp_mul (& d , & b , & d ) );
192
191
if (mp_cmp (& c , & d ) != MP_EQ ) {
193
192
printf ("mul %lu failure!\n" , mul_n );
194
193
draw (& a );
@@ -200,15 +199,15 @@ static int mtest_opponent(void)
200
199
} else if (strcmp (cmd , "div" ) == 0 ) {
201
200
++ div_n ;
202
201
FGETS (buf , 4095 , stdin );
203
- mp_read_radix (& a , buf , 64 );
202
+ DO ( mp_read_radix (& a , buf , 64 ) );
204
203
FGETS (buf , 4095 , stdin );
205
- mp_read_radix (& b , buf , 64 );
204
+ DO ( mp_read_radix (& b , buf , 64 ) );
206
205
FGETS (buf , 4095 , stdin );
207
- mp_read_radix (& c , buf , 64 );
206
+ DO ( mp_read_radix (& c , buf , 64 ) );
208
207
FGETS (buf , 4095 , stdin );
209
- mp_read_radix (& d , buf , 64 );
208
+ DO ( mp_read_radix (& d , buf , 64 ) );
210
209
211
- mp_div (& a , & b , & e , & f );
210
+ DO ( mp_div (& a , & b , & e , & f ) );
212
211
if ((mp_cmp (& c , & e ) != MP_EQ ) || (mp_cmp (& d , & f ) != MP_EQ )) {
213
212
printf ("div %lu %d, %d, failure!\n" , div_n , mp_cmp (& c , & e ),
214
213
mp_cmp (& d , & f ));
@@ -224,11 +223,11 @@ static int mtest_opponent(void)
224
223
} else if (strcmp (cmd , "sqr" ) == 0 ) {
225
224
++ sqr_n ;
226
225
FGETS (buf , 4095 , stdin );
227
- mp_read_radix (& a , buf , 64 );
226
+ DO ( mp_read_radix (& a , buf , 64 ) );
228
227
FGETS (buf , 4095 , stdin );
229
- mp_read_radix (& b , buf , 64 );
230
- mp_copy (& a , & c );
231
- mp_sqr (& c , & c );
228
+ DO ( mp_read_radix (& b , buf , 64 ) );
229
+ DO ( mp_copy (& a , & c ) );
230
+ DO ( mp_sqr (& c , & c ) );
232
231
if (mp_cmp (& b , & c ) != MP_EQ ) {
233
232
printf ("sqr %lu failure!\n" , sqr_n );
234
233
draw (& a );
@@ -239,13 +238,13 @@ static int mtest_opponent(void)
239
238
} else if (strcmp (cmd , "gcd" ) == 0 ) {
240
239
++ gcd_n ;
241
240
FGETS (buf , 4095 , stdin );
242
- mp_read_radix (& a , buf , 64 );
241
+ DO ( mp_read_radix (& a , buf , 64 ) );
243
242
FGETS (buf , 4095 , stdin );
244
- mp_read_radix (& b , buf , 64 );
243
+ DO ( mp_read_radix (& b , buf , 64 ) );
245
244
FGETS (buf , 4095 , stdin );
246
- mp_read_radix (& c , buf , 64 );
247
- mp_copy (& a , & d );
248
- mp_gcd (& d , & b , & d );
245
+ DO ( mp_read_radix (& c , buf , 64 ) );
246
+ DO ( mp_copy (& a , & d ) );
247
+ DO ( mp_gcd (& d , & b , & d ) );
249
248
d .sign = c .sign ;
250
249
if (mp_cmp (& c , & d ) != MP_EQ ) {
251
250
printf ("gcd %lu failure!\n" , gcd_n );
@@ -258,13 +257,13 @@ static int mtest_opponent(void)
258
257
} else if (strcmp (cmd , "lcm" ) == 0 ) {
259
258
++ lcm_n ;
260
259
FGETS (buf , 4095 , stdin );
261
- mp_read_radix (& a , buf , 64 );
260
+ DO ( mp_read_radix (& a , buf , 64 ) );
262
261
FGETS (buf , 4095 , stdin );
263
- mp_read_radix (& b , buf , 64 );
262
+ DO ( mp_read_radix (& b , buf , 64 ) );
264
263
FGETS (buf , 4095 , stdin );
265
- mp_read_radix (& c , buf , 64 );
266
- mp_copy (& a , & d );
267
- mp_lcm (& d , & b , & d );
264
+ DO ( mp_read_radix (& c , buf , 64 ) );
265
+ DO ( mp_copy (& a , & d ) );
266
+ DO ( mp_lcm (& d , & b , & d ) );
268
267
d .sign = c .sign ;
269
268
if (mp_cmp (& c , & d ) != MP_EQ ) {
270
269
printf ("lcm %lu failure!\n" , lcm_n );
@@ -277,15 +276,15 @@ static int mtest_opponent(void)
277
276
} else if (strcmp (cmd , "expt" ) == 0 ) {
278
277
++ expt_n ;
279
278
FGETS (buf , 4095 , stdin );
280
- mp_read_radix (& a , buf , 64 );
279
+ DO ( mp_read_radix (& a , buf , 64 ) );
281
280
FGETS (buf , 4095 , stdin );
282
- mp_read_radix (& b , buf , 64 );
281
+ DO ( mp_read_radix (& b , buf , 64 ) );
283
282
FGETS (buf , 4095 , stdin );
284
- mp_read_radix (& c , buf , 64 );
283
+ DO ( mp_read_radix (& c , buf , 64 ) );
285
284
FGETS (buf , 4095 , stdin );
286
- mp_read_radix (& d , buf , 64 );
287
- mp_copy (& a , & e );
288
- mp_exptmod (& e , & b , & c , & e );
285
+ DO ( mp_read_radix (& d , buf , 64 ) );
286
+ DO ( mp_copy (& a , & e ) );
287
+ DO ( mp_exptmod (& e , & b , & c , & e ) );
289
288
if (mp_cmp (& d , & e ) != MP_EQ ) {
290
289
printf ("expt %lu failure!\n" , expt_n );
291
290
draw (& a );
@@ -298,32 +297,32 @@ static int mtest_opponent(void)
298
297
} else if (strcmp (cmd , "invmod" ) == 0 ) {
299
298
++ inv_n ;
300
299
FGETS (buf , 4095 , stdin );
301
- mp_read_radix (& a , buf , 64 );
300
+ DO ( mp_read_radix (& a , buf , 64 ) );
302
301
FGETS (buf , 4095 , stdin );
303
- mp_read_radix (& b , buf , 64 );
302
+ DO ( mp_read_radix (& b , buf , 64 ) );
304
303
FGETS (buf , 4095 , stdin );
305
- mp_read_radix (& c , buf , 64 );
306
- mp_invmod (& a , & b , & d );
307
- mp_mulmod (& d , & a , & b , & e );
304
+ DO ( mp_read_radix (& c , buf , 64 ) );
305
+ DO ( mp_invmod (& a , & b , & d ) );
306
+ DO ( mp_mulmod (& d , & a , & b , & e ) );
308
307
if (mp_cmp_d (& e , 1uL ) != MP_EQ ) {
309
308
printf ("inv [wrong value from MPI?!] failure\n" );
310
309
draw (& a );
311
310
draw (& b );
312
311
draw (& c );
313
312
draw (& d );
314
313
draw (& e );
315
- mp_gcd (& a , & b , & e );
314
+ DO ( mp_gcd (& a , & b , & e ) );
316
315
draw (& e );
317
316
goto LBL_ERR ;
318
317
}
319
318
320
319
} else if (strcmp (cmd , "div2" ) == 0 ) {
321
320
++ div2_n ;
322
321
FGETS (buf , 4095 , stdin );
323
- mp_read_radix (& a , buf , 64 );
322
+ DO ( mp_read_radix (& a , buf , 64 ) );
324
323
FGETS (buf , 4095 , stdin );
325
- mp_read_radix (& b , buf , 64 );
326
- mp_div_2 (& a , & c );
324
+ DO ( mp_read_radix (& b , buf , 64 ) );
325
+ DO ( mp_div_2 (& a , & c ) );
327
326
if (mp_cmp (& c , & b ) != MP_EQ ) {
328
327
printf ("div_2 %lu failure\n" , div2_n );
329
328
draw (& a );
@@ -334,10 +333,10 @@ static int mtest_opponent(void)
334
333
} else if (strcmp (cmd , "mul2" ) == 0 ) {
335
334
++ mul2_n ;
336
335
FGETS (buf , 4095 , stdin );
337
- mp_read_radix (& a , buf , 64 );
336
+ DO ( mp_read_radix (& a , buf , 64 ) );
338
337
FGETS (buf , 4095 , stdin );
339
- mp_read_radix (& b , buf , 64 );
340
- mp_mul_2 (& a , & c );
338
+ DO ( mp_read_radix (& b , buf , 64 ) );
339
+ DO ( mp_mul_2 (& a , & c ) );
341
340
if (mp_cmp (& c , & b ) != MP_EQ ) {
342
341
printf ("mul_2 %lu failure\n" , mul2_n );
343
342
draw (& a );
@@ -348,12 +347,12 @@ static int mtest_opponent(void)
348
347
} else if (strcmp (cmd , "add_d" ) == 0 ) {
349
348
++ add_d_n ;
350
349
FGETS (buf , 4095 , stdin );
351
- mp_read_radix (& a , buf , 64 );
350
+ DO ( mp_read_radix (& a , buf , 64 ) );
352
351
FGETS (buf , 4095 , stdin );
353
352
sscanf (buf , "%d" , & ix );
354
353
FGETS (buf , 4095 , stdin );
355
- mp_read_radix (& b , buf , 64 );
356
- mp_add_d (& a , (mp_digit )ix , & c );
354
+ DO ( mp_read_radix (& b , buf , 64 ) );
355
+ DO ( mp_add_d (& a , (mp_digit )ix , & c ) );
357
356
if (mp_cmp (& b , & c ) != MP_EQ ) {
358
357
printf ("add_d %lu failure\n" , add_d_n );
359
358
draw (& a );
@@ -365,12 +364,12 @@ static int mtest_opponent(void)
365
364
} else if (strcmp (cmd , "sub_d" ) == 0 ) {
366
365
++ sub_d_n ;
367
366
FGETS (buf , 4095 , stdin );
368
- mp_read_radix (& a , buf , 64 );
367
+ DO ( mp_read_radix (& a , buf , 64 ) );
369
368
FGETS (buf , 4095 , stdin );
370
369
sscanf (buf , "%d" , & ix );
371
370
FGETS (buf , 4095 , stdin );
372
- mp_read_radix (& b , buf , 64 );
373
- mp_sub_d (& a , (mp_digit )ix , & c );
371
+ DO ( mp_read_radix (& b , buf , 64 ) );
372
+ DO ( mp_sub_d (& a , (mp_digit )ix , & c ) );
374
373
if (mp_cmp (& b , & c ) != MP_EQ ) {
375
374
printf ("sub_d %lu failure\n" , sub_d_n );
376
375
draw (& a );
0 commit comments