File: bcdiv_large_numbers.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (224 lines) | stat: -rw-r--r-- 15,302 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
--TEST--
bcdiv() function with large numbers
--EXTENSIONS--
bcmath
--INI--
bcmath.scale=0
--FILE--
<?php
require(__DIR__ . "/run_bcmath_tests_function.inc");

$dividends = [
    "15151324141414.412312232141241",
    "-132132245132134.1515123765412",
    "141241241241241248267654747412",
    "-149143276547656984948124912",
    "0.1322135476547459213732911312",
    "-0.123912932193769965476541321",
];
$divisors = array_merge($dividends, [
    "15",
    "-15",
    "1",
    "-9",
    "14.14",
    "-16.60",
    "0.15",
    "-0.01",
]);

run_bcmath_tests($dividends, $divisors, "/", bcdiv(...));

?>
--EXPECT--
Number "15151324141414.412312232141241" (scale 0)
15151324141414.412312232141241 / 15151324141414.412312232141241 = 1
15151324141414.412312232141241 / -132132245132134.1515123765412 = 0
15151324141414.412312232141241 / 141241241241241248267654747412 = 0
15151324141414.412312232141241 / -149143276547656984948124912   = 0
15151324141414.412312232141241 / 0.1322135476547459213732911312 = 114597364719231
15151324141414.412312232141241 / -0.123912932193769965476541321 = -122273953760705
15151324141414.412312232141241 / 15                             = 1010088276094
15151324141414.412312232141241 / -15                            = -1010088276094
15151324141414.412312232141241 / 1                              = 15151324141414
15151324141414.412312232141241 / -9                             = -1683480460157
15151324141414.412312232141241 / 14.14                          = 1071522216507
15151324141414.412312232141241 / -16.60                         = -912730369964
15151324141414.412312232141241 / 0.15                           = 101008827609429
15151324141414.412312232141241 / -0.01                          = -1515132414141441

Number "-132132245132134.1515123765412" (scale 0)
-132132245132134.1515123765412 / 15151324141414.412312232141241 = -8
-132132245132134.1515123765412 / -132132245132134.1515123765412 = 1
-132132245132134.1515123765412 / 141241241241241248267654747412 = 0
-132132245132134.1515123765412 / -149143276547656984948124912   = 0
-132132245132134.1515123765412 / 0.1322135476547459213732911312 = -999385066628541
-132132245132134.1515123765412 / -0.123912932193769965476541321 = 1066331356968545
-132132245132134.1515123765412 / 15                             = -8808816342142
-132132245132134.1515123765412 / -15                            = 8808816342142
-132132245132134.1515123765412 / 1                              = -132132245132134
-132132245132134.1515123765412 / -9                             = 14681360570237
-132132245132134.1515123765412 / 14.14                          = -9344571791522
-132132245132134.1515123765412 / -16.60                         = 7959773803140
-132132245132134.1515123765412 / 0.15                           = -880881634214227
-132132245132134.1515123765412 / -0.01                          = 13213224513213415

Number "141241241241241248267654747412" (scale 0)
141241241241241248267654747412 / 15151324141414.412312232141241 = 9322039441765651
141241241241241248267654747412 / -132132245132134.1515123765412 = -1068938479778330
141241241241241248267654747412 / 141241241241241248267654747412 = 1
141241241241241248267654747412 / -149143276547656984948124912   = -947
141241241241241248267654747412 / 0.1322135476547459213732911312 = 1068281153835079546834811315187
141241241241241248267654747412 / -0.123912932193769965476541321 = -1139842619657922251471288994015
141241241241241248267654747412 / 15                             = 9416082749416083217843649827
141241241241241248267654747412 / -15                            = -9416082749416083217843649827
141241241241241248267654747412 / 1                              = 141241241241241248267654747412
141241241241241248267654747412 / -9                             = -15693471249026805363072749712
141241241241241248267654747412 / 14.14                          = 9988772365009989269282513961
141241241241241248267654747412 / -16.60                         = -8508508508508508931786430566
141241241241241248267654747412 / 0.15                           = 941608274941608321784364982746
141241241241241248267654747412 / -0.01                          = -14124124124124124826765474741200

Number "-149143276547656984948124912" (scale 0)
-149143276547656984948124912 / 15151324141414.412312232141241 = -9843580346881
-149143276547656984948124912 / -132132245132134.1515123765412 = 1128742468566
-149143276547656984948124912 / 141241241241241248267654747412 = 0
-149143276547656984948124912 / -149143276547656984948124912   = 1
-149143276547656984948124912 / 0.1322135476547459213732911312 = -1128048367154629906735882014
-149143276547656984948124912 / -0.123912932193769965476541321 = 1203613488174364568320268735
-149143276547656984948124912 / 15                             = -9942885103177132329874994
-149143276547656984948124912 / -15                            = 9942885103177132329874994
-149143276547656984948124912 / 1                              = -149143276547656984948124912
-149143276547656984948124912 / -9                             = 16571475171961887216458323
-149143276547656984948124912 / 14.14                          = -10547615031658909826600064
-149143276547656984948124912 / -16.60                         = 8984534731786565358320777
-149143276547656984948124912 / 0.15                           = -994288510317713232987499413
-149143276547656984948124912 / -0.01                          = 14914327654765698494812491200

Number "0.1322135476547459213732911312" (scale 0)
0.1322135476547459213732911312 / 15151324141414.412312232141241 = 0
0.1322135476547459213732911312 / -132132245132134.1515123765412 = 0
0.1322135476547459213732911312 / 141241241241241248267654747412 = 0
0.1322135476547459213732911312 / -149143276547656984948124912   = 0
0.1322135476547459213732911312 / 0.1322135476547459213732911312 = 1
0.1322135476547459213732911312 / -0.123912932193769965476541321 = -1
0.1322135476547459213732911312 / 15                             = 0
0.1322135476547459213732911312 / -15                            = 0
0.1322135476547459213732911312 / 1                              = 0
0.1322135476547459213732911312 / -9                             = 0
0.1322135476547459213732911312 / 14.14                          = 0
0.1322135476547459213732911312 / -16.60                         = 0
0.1322135476547459213732911312 / 0.15                           = 0
0.1322135476547459213732911312 / -0.01                          = -13

Number "-0.123912932193769965476541321" (scale 0)
-0.123912932193769965476541321 / 15151324141414.412312232141241 = 0
-0.123912932193769965476541321 / -132132245132134.1515123765412 = 0
-0.123912932193769965476541321 / 141241241241241248267654747412 = 0
-0.123912932193769965476541321 / -149143276547656984948124912   = 0
-0.123912932193769965476541321 / 0.1322135476547459213732911312 = 0
-0.123912932193769965476541321 / -0.123912932193769965476541321 = 1
-0.123912932193769965476541321 / 15                             = 0
-0.123912932193769965476541321 / -15                            = 0
-0.123912932193769965476541321 / 1                              = 0
-0.123912932193769965476541321 / -9                             = 0
-0.123912932193769965476541321 / 14.14                          = 0
-0.123912932193769965476541321 / -16.60                         = 0
-0.123912932193769965476541321 / 0.15                           = 0
-0.123912932193769965476541321 / -0.01                          = 12

Number "15151324141414.412312232141241" (scale 10)
15151324141414.412312232141241 / 15151324141414.412312232141241 = 1.0000000000
15151324141414.412312232141241 / -132132245132134.1515123765412 = -0.1146678778
15151324141414.412312232141241 / 141241241241241248267654747412 = 0.0000000000
15151324141414.412312232141241 / -149143276547656984948124912   = 0.0000000000
15151324141414.412312232141241 / 0.1322135476547459213732911312 = 114597364719231.4957119169
15151324141414.412312232141241 / -0.123912932193769965476541321 = -122273953760705.0772823300
15151324141414.412312232141241 / 15                             = 1010088276094.2941541488
15151324141414.412312232141241 / -15                            = -1010088276094.2941541488
15151324141414.412312232141241 / 1                              = 15151324141414.4123122321
15151324141414.412312232141241 / -9                             = -1683480460157.1569235813
15151324141414.412312232141241 / 14.14                          = 1071522216507.3841804973
15151324141414.412312232141241 / -16.60                         = -912730369964.7236332669
15151324141414.412312232141241 / 0.15                           = 101008827609429.4154148809
15151324141414.412312232141241 / -0.01                          = -1515132414141441.2312232141

Number "-132132245132134.1515123765412" (scale 10)
-132132245132134.1515123765412 / 15151324141414.412312232141241 = -8.7208381194
-132132245132134.1515123765412 / -132132245132134.1515123765412 = 1.0000000000
-132132245132134.1515123765412 / 141241241241241248267654747412 = 0.0000000000
-132132245132134.1515123765412 / -149143276547656984948124912   = 0.0000000000
-132132245132134.1515123765412 / 0.1322135476547459213732911312 = -999385066628541.8940917146
-132132245132134.1515123765412 / -0.123912932193769965476541321 = 1066331356968545.9568177107
-132132245132134.1515123765412 / 15                             = -8808816342142.2767674917
-132132245132134.1515123765412 / -15                            = 8808816342142.2767674917
-132132245132134.1515123765412 / 1                              = -132132245132134.1515123765
-132132245132134.1515123765412 / -9                             = 14681360570237.1279458196
-132132245132134.1515123765412 / 14.14                          = -9344571791522.9244351044
-132132245132134.1515123765412 / -16.60                         = 7959773803140.6115368901
-132132245132134.1515123765412 / 0.15                           = -880881634214227.6767491769
-132132245132134.1515123765412 / -0.01                          = 13213224513213415.1512376541

Number "141241241241241248267654747412" (scale 10)
141241241241241248267654747412 / 15151324141414.412312232141241 = 9322039441765651.5733487418
141241241241241248267654747412 / -132132245132134.1515123765412 = -1068938479778330.9382445997
141241241241241248267654747412 / 141241241241241248267654747412 = 1.0000000000
141241241241241248267654747412 / -149143276547656984948124912   = -947.0171536435
141241241241241248267654747412 / 0.1322135476547459213732911312 = 1068281153835079546834811315187.2460414102
141241241241241248267654747412 / -0.123912932193769965476541321 = -1139842619657922251471288994015.5745430452
141241241241241248267654747412 / 15                             = 9416082749416083217843649827.4666666666
141241241241241248267654747412 / -15                            = -9416082749416083217843649827.4666666666
141241241241241248267654747412 / 1                              = 141241241241241248267654747412.0000000000
141241241241241248267654747412 / -9                             = -15693471249026805363072749712.4444444444
141241241241241248267654747412 / 14.14                          = 9988772365009989269282513961.2446958981
141241241241241248267654747412 / -16.60                         = -8508508508508508931786430566.9879518072
141241241241241248267654747412 / 0.15                           = 941608274941608321784364982746.6666666666
141241241241241248267654747412 / -0.01                          = -14124124124124124826765474741200.0000000000

Number "-149143276547656984948124912" (scale 10)
-149143276547656984948124912 / 15151324141414.412312232141241 = -9843580346881.4246956668
-149143276547656984948124912 / -132132245132134.1515123765412 = 1128742468566.3333472319
-149143276547656984948124912 / 141241241241241248267654747412 = -0.0010559470
-149143276547656984948124912 / -149143276547656984948124912   = 1.0000000000
-149143276547656984948124912 / 0.1322135476547459213732911312 = -1128048367154629906735882014.2432613477
-149143276547656984948124912 / -0.123912932193769965476541321 = 1203613488174364568320268735.7225301437
-149143276547656984948124912 / 15                             = -9942885103177132329874994.1333333333
-149143276547656984948124912 / -15                            = 9942885103177132329874994.1333333333
-149143276547656984948124912 / 1                              = -149143276547656984948124912.0000000000
-149143276547656984948124912 / -9                             = 16571475171961887216458323.5555555555
-149143276547656984948124912 / 14.14                          = -10547615031658909826600064.4978783592
-149143276547656984948124912 / -16.60                         = 8984534731786565358320777.8313253012
-149143276547656984948124912 / 0.15                           = -994288510317713232987499413.3333333333
-149143276547656984948124912 / -0.01                          = 14914327654765698494812491200.0000000000

Number "0.1322135476547459213732911312" (scale 10)
0.1322135476547459213732911312 / 15151324141414.412312232141241 = 0.0000000000
0.1322135476547459213732911312 / -132132245132134.1515123765412 = 0.0000000000
0.1322135476547459213732911312 / 141241241241241248267654747412 = 0.0000000000
0.1322135476547459213732911312 / -149143276547656984948124912   = 0.0000000000
0.1322135476547459213732911312 / 0.1322135476547459213732911312 = 1.0000000000
0.1322135476547459213732911312 / -0.123912932193769965476541321 = -1.0669874831
0.1322135476547459213732911312 / 15                             = 0.0088142365
0.1322135476547459213732911312 / -15                            = -0.0088142365
0.1322135476547459213732911312 / 1                              = 0.1322135476
0.1322135476547459213732911312 / -9                             = -0.0146903941
0.1322135476547459213732911312 / 14.14                          = 0.0093503216
0.1322135476547459213732911312 / -16.60                         = -0.0079646715
0.1322135476547459213732911312 / 0.15                           = 0.8814236510
0.1322135476547459213732911312 / -0.01                          = -13.2213547654

Number "-0.123912932193769965476541321" (scale 10)
-0.123912932193769965476541321 / 15151324141414.412312232141241 = 0.0000000000
-0.123912932193769965476541321 / -132132245132134.1515123765412 = 0.0000000000
-0.123912932193769965476541321 / 141241241241241248267654747412 = 0.0000000000
-0.123912932193769965476541321 / -149143276547656984948124912   = 0.0000000000
-0.123912932193769965476541321 / 0.1322135476547459213732911312 = -0.9372181171
-0.123912932193769965476541321 / -0.123912932193769965476541321 = 1.0000000000
-0.123912932193769965476541321 / 15                             = -0.0082608621
-0.123912932193769965476541321 / -15                            = 0.0082608621
-0.123912932193769965476541321 / 1                              = -0.1239129321
-0.123912932193769965476541321 / -9                             = 0.0137681035
-0.123912932193769965476541321 / 14.14                          = -0.0087632908
-0.123912932193769965476541321 / -16.60                         = 0.0074646344
-0.123912932193769965476541321 / 0.15                           = -0.8260862146
-0.123912932193769965476541321 / -0.01                          = 12.3912932193