1 /* debug.c: bcmath library file. */
2 /*
3 Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
4 Copyright (C) 2000 Philip A. Nelson
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details. (LICENSE)
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to:
18
19 The Free Software Foundation, Inc.
20 59 Temple Place, Suite 330
21 Boston, MA 02111-1307 USA.
22
23 You may contact the author by:
24 e-mail: philnelson@acm.org
25 us-mail: Philip A. Nelson
26 Computer Science Department, 9062
27 Western Washington University
28 Bellingham, WA 98226-9062
29
30 *************************************************************************/
31
32 #include <stdio.h>
33 #include "bcmath.h"
34 #include "private.h"
35 #include <stddef.h>
36
37 /* pn prints the number NUM in base 10. */
38
out_char(char c)39 static void out_char(char c)
40 {
41 putchar(c);
42 }
43
44
pn(bc_num num)45 void pn(bc_num num)
46 {
47 bc_out_num(num, 10, out_char, 0);
48 out_char('\n');
49 }
50
51
52 /* pv prints a character array as if it was a string of bcd digits. */
pv(char * name,unsigned char * num,size_t len)53 void pv(char *name, unsigned char *num, size_t len)
54 {
55 printf("%s=", name);
56 for (size_t i = 0; i < len; i++) {
57 printf("%c", BCD_CHAR(num[i]));
58 }
59 printf("\n");
60 }
61