Hash :
08d281c4
Author :
Date :
2019-12-05T00:48:25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
#include "shared.h"
void ndraw(const mp_int *a, const char *name)
{
char *buf;
size_t size = 0;
mp_err err;
if ((err = mp_radix_size_overestimate(a, 10, &size)) != MP_OKAY) {
fprintf(stderr, "\nndraw: mp_radix_size_overestimate(a, 10, %zu) failed - %s\n", size, mp_error_to_string(err));
exit(EXIT_FAILURE);
}
buf = (char *)malloc(size);
if (buf == NULL) {
fprintf(stderr, "\nndraw: malloc(%zu) failed\n", size);
exit(EXIT_FAILURE);
}
printf("%s: ", name);
if ((err = mp_to_decimal(a, buf, size)) != MP_OKAY) {
fprintf(stderr, "\nndraw: mp_to_decimal(a, buf, %zu) failed - %s\n", size, mp_error_to_string(err));
exit(EXIT_FAILURE);
}
printf("%s\n", buf);
if ((err = mp_to_hex(a, buf, size)) != MP_OKAY) {
fprintf(stderr, "\nndraw: mp_to_hex(a, buf, %zu) failed - %s\n", size, mp_error_to_string(err));
exit(EXIT_FAILURE);
}
printf("0x%s\n", buf);
free(buf);
}
void print_header(void)
{
#ifdef MP_16BIT
printf("Digit size 16 Bit \n");
#endif
#ifdef MP_32BIT
printf("Digit size 32 Bit \n");
#endif
#ifdef MP_64BIT
printf("Digit size 64 Bit \n");
#endif
printf("Size of mp_digit: %u\n", (unsigned int)sizeof(mp_digit));
printf("Size of mp_word: %u\n", (unsigned int)sizeof(mp_word));
printf("MP_DIGIT_BIT: %d\n", MP_DIGIT_BIT);
printf("MP_DEFAULT_DIGIT_COUNT: %d\n", MP_DEFAULT_DIGIT_COUNT);
}