php-internal-docs
8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
rmzero.c
Go to the documentation of this file.
1
/* rmzero.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 "
private.h
"
34
35
/* For many things, we may have leading zeros in a number NUM.
36
_bc_rm_leading_zeros just moves the data "value" pointer to the
37
correct place and adjusts the length. */
38
39
void
_bc_rm_leading_zeros
(
bc_num
num)
40
{
41
/* We can move n_value to point to the first non-zero digit! */
42
while
(*num->
n_value
== 0 && num->
n_len
> 1) {
43
num->
n_value
++;
44
num->
n_len
--;
45
}
46
}
47
48
void
bc_rm_trailing_zeros
(
bc_num
num)
49
{
50
if
(num->
n_scale
== 0) {
51
return
;
52
}
53
54
char
*
end
= num->
n_value
+ num->
n_len
+ num->
n_scale
- 1;
55
while
(*
end
== 0 && num->
n_scale
> 0) {
56
num->
n_scale
--;
57
end
--;
58
}
59
}
bcmath.h
bc_num
struct bc_struct * bc_num
Definition
bcmath.h:39
end
unsigned const char * end
Definition
php_ffi.h:51
private.h
_bc_rm_leading_zeros
void _bc_rm_leading_zeros(bc_num num)
Definition
rmzero.c:39
bc_rm_trailing_zeros
void bc_rm_trailing_zeros(bc_num num)
Definition
rmzero.c:48
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
ext
bcmath
libbcmath
src
rmzero.c
Generated on Sat Aug 23 2025 01:46:05 for php-internal-docs by
1.13.2