xref: /PHP-8.3/ext/bcmath/libbcmath/src/debug.c (revision e56ed6e1)
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