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