1 : /* zero.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. (COPYING.LIB)
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 <config.h>
33 : #include <stdio.h>
34 : #include <assert.h>
35 : #include <stdlib.h>
36 : #include <ctype.h>
37 : #include <stdarg.h>
38 : #include "bcmath.h"
39 : #include "private.h"
40 :
41 : /* In some places we need to check if the number NUM is zero. */
42 :
43 : char
44 : bc_is_zero (bc_num num TSRMLS_DC)
45 87 : {
46 : int count;
47 : char *nptr;
48 :
49 : /* Quick check. */
50 87 : if (num == BCG(_zero_)) return TRUE;
51 :
52 : /* Initialize */
53 87 : count = num->n_len + num->n_scale;
54 87 : nptr = num->n_value;
55 :
56 : /* The check */
57 87 : while ((count > 0) && (*nptr++ == 0)) count--;
58 :
59 87 : if (count != 0)
60 84 : return FALSE;
61 : else
62 3 : return TRUE;
63 : }
64 :
|