1*658eb9e1SMichael Kruse
test_mpz_export(char ** out,char * rop,size_t * countp,int order,size_t size,int endian,size_t nails,char * mpzstr)2*658eb9e1SMichael Kruse void test_mpz_export(char **out, char *rop, size_t *countp, int order,
3*658eb9e1SMichael Kruse size_t size, int endian, size_t nails, char *mpzstr) {
4*658eb9e1SMichael Kruse mpz_t op;
5*658eb9e1SMichael Kruse mpz_init(op);
6*658eb9e1SMichael Kruse mpz_set_str(op, mpzstr, 10);
7*658eb9e1SMichael Kruse // printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails,
8*658eb9e1SMichael Kruse // mpzstr);
9*658eb9e1SMichael Kruse *out = mpz_export(rop, countp, order, size, endian, nails, op);
10*658eb9e1SMichael Kruse }
11*658eb9e1SMichael Kruse
test_mpz_import(char * out,void * unused,size_t count,int order,size_t size,int endian,size_t nails,char * mpzstr)12*658eb9e1SMichael Kruse void test_mpz_import(char *out, void *unused, size_t count, int order,
13*658eb9e1SMichael Kruse size_t size, int endian, size_t nails, char *mpzstr) {
14*658eb9e1SMichael Kruse mpz_t op;
15*658eb9e1SMichael Kruse mpz_t rop;
16*658eb9e1SMichael Kruse mpz_init(op);
17*658eb9e1SMichael Kruse mpz_init(rop);
18*658eb9e1SMichael Kruse mpz_set_str(op, mpzstr, 10);
19*658eb9e1SMichael Kruse char *data;
20*658eb9e1SMichael Kruse
21*658eb9e1SMichael Kruse // printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails,
22*658eb9e1SMichael Kruse // mpzstr);
23*658eb9e1SMichael Kruse data = mpz_export(NULL, &count, order, size, endian, nails, op);
24*658eb9e1SMichael Kruse mpz_import(rop, count, order, size, endian, nails, data);
25*658eb9e1SMichael Kruse int eq = mpz_cmpabs(op, rop);
26*658eb9e1SMichael Kruse sprintf(out, "%2d:", eq);
27*658eb9e1SMichael Kruse mpz_get_str(out + 3, 10, rop);
28*658eb9e1SMichael Kruse }
29