1 /* 2 * Copyright (C) 2017 - This file is part of libecc project 3 * 4 * Authors: 5 * Ryad BENADJILA <ryadbenadjila@gmail.com> 6 * Arnaud EBALARD <arnaud.ebalard@ssi.gouv.fr> 7 * Jean-Pierre FLORI <jean-pierre.flori@ssi.gouv.fr> 8 * 9 * Contributors: 10 * Nicolas VIVET <nicolas.vivet@ssi.gouv.fr> 11 * Karim KHALFALLAH <karim.khalfallah@ssi.gouv.fr> 12 * 13 * This software is licensed under a dual BSD and GPL v2 license. 14 * See LICENSE file at the root folder of the project. 15 */ 16 #include <libecc/utils/print_nn.h> 17 18 /* Print out given nn, prepending msg to the output */ 19 void nn_print(const char *msg, nn_src_t a) 20 { 21 int ret, w; 22 23 ret = nn_check_initialized(a); EG(ret, err); 24 MUST_HAVE(msg != NULL, ret, err); 25 26 ext_printf("%s (%d words, i.e. %d bits): 0x", msg, a->wlen, 27 a->wlen * WORD_BYTES * 8); 28 29 for (w = a->wlen - 1; w >= 0; w--) { 30 ext_printf(PRINTF_WORD_HEX_FMT, a->val[w]); 31 } 32 33 ext_printf("\n"); 34 35 err: 36 return; 37 } 38