php-internal-docs
8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zero.c
Go to the documentation of this file.
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. (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 "
bcmath.h
"
33
#include <stdbool.h>
34
#include <stddef.h>
35
36
/* In some places we need to check if the number NUM is zero. */
37
38
bool
bc_is_zero_for_scale
(
bc_num
num,
size_t
scale)
39
{
40
size_t
count
;
41
char
*nptr;
42
43
/* Quick check. */
44
if
(num ==
BCG
(
_zero_
)) {
45
return
true
;
46
}
47
48
/* Initialize */
49
count
= num->
n_len
+ scale;
50
nptr = num->
n_value
;
51
52
/* The check */
53
while
((
count
> 0) && (*nptr++ == 0))
count
--;
54
55
return
count
== 0;
56
}
57
58
bool
bc_is_zero
(
bc_num
num)
59
{
60
return
bc_is_zero_for_scale
(num, num->
n_scale
);
61
}
count
count(Countable|array $value, int $mode=COUNT_NORMAL)
Definition
basic_functions.stub.php:1577
bcmath.h
bc_num
struct bc_struct * bc_num
Definition
bcmath.h:39
_zero_
bc_num _zero_
Definition
php_bcmath.h:33
BCG
#define BCG(v)
Definition
php_bcmath.h:46
bc_struct::n_len
size_t n_len
Definition
bcmath.h:42
bc_struct::n_scale
size_t n_scale
Definition
bcmath.h:43
bc_struct::n_value
char * n_value
Definition
bcmath.h:44
bc_is_zero_for_scale
bool bc_is_zero_for_scale(bc_num num, size_t scale)
Definition
zero.c:38
bc_is_zero
bool bc_is_zero(bc_num num)
Definition
zero.c:58
ext
bcmath
libbcmath
src
zero.c
Generated on Sat Aug 23 2025 01:46:05 for php-internal-docs by
1.13.2