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--
bcmod() 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, "mod", bcmod(...));
?>
--EXPECT--
Number "15151324141414.412312232141241" (scale 0)
15151324141414.412312232141241 mod 15151324141414.412312232141241 = 0
15151324141414.412312232141241 mod -132132245132134.1515123765412 = 15151324141414
15151324141414.412312232141241 mod 141241241241241248267654747412 = 15151324141414
15151324141414.412312232141241 mod -149143276547656984948124912 = 15151324141414
15151324141414.412312232141241 mod 0.1322135476547459213732911312 = 0
15151324141414.412312232141241 mod -0.123912932193769965476541321 = 0
15151324141414.412312232141241 mod 15 = 4
15151324141414.412312232141241 mod -15 = 4
15151324141414.412312232141241 mod 1 = 0
15151324141414.412312232141241 mod -9 = 1
15151324141414.412312232141241 mod 14.14 = 5
15151324141414.412312232141241 mod -16.60 = 12
15151324141414.412312232141241 mod 0.15 = 0
15151324141414.412312232141241 mod -0.01 = 0
Number "-132132245132134.1515123765412" (scale 0)
-132132245132134.1515123765412 mod 15151324141414.412312232141241 = -10921652000818
-132132245132134.1515123765412 mod -132132245132134.1515123765412 = 0
-132132245132134.1515123765412 mod 141241241241241248267654747412 = -132132245132134
-132132245132134.1515123765412 mod -149143276547656984948124912 = -132132245132134
-132132245132134.1515123765412 mod 0.1322135476547459213732911312 = 0
-132132245132134.1515123765412 mod -0.123912932193769965476541321 = 0
-132132245132134.1515123765412 mod 15 = -4
-132132245132134.1515123765412 mod -15 = -4
-132132245132134.1515123765412 mod 1 = 0
-132132245132134.1515123765412 mod -9 = -1
-132132245132134.1515123765412 mod 14.14 = -13
-132132245132134.1515123765412 mod -16.60 = -10
-132132245132134.1515123765412 mod 0.15 = 0
-132132245132134.1515123765412 mod -0.01 = 0
Number "141241241241241248267654747412" (scale 0)
141241241241241248267654747412 mod 15151324141414.412312232141241 = 8686992633814
141241241241241248267654747412 mod -132132245132134.1515123765412 = 123972365443639
141241241241241248267654747412 mod 141241241241241248267654747412 = 0
141241241241241248267654747412 mod -149143276547656984948124912 = 2558350610083521780455748
141241241241241248267654747412 mod 0.1322135476547459213732911312 = 0
141241241241241248267654747412 mod -0.123912932193769965476541321 = 0
141241241241241248267654747412 mod 15 = 7
141241241241241248267654747412 mod -15 = 7
141241241241241248267654747412 mod 1 = 0
141241241241241248267654747412 mod -9 = 4
141241241241241248267654747412 mod 14.14 = 3
141241241241241248267654747412 mod -16.60 = 16
141241241241241248267654747412 mod 0.15 = 0
141241241241241248267654747412 mod -0.01 = 0
Number "-149143276547656984948124912" (scale 0)
-149143276547656984948124912 mod 15151324141414.412312232141241 = -6434701710093
-149143276547656984948124912 mod -132132245132134.1515123765412 = -44045918171152
-149143276547656984948124912 mod 141241241241241248267654747412 = -149143276547656984948124912
-149143276547656984948124912 mod -149143276547656984948124912 = 0
-149143276547656984948124912 mod 0.1322135476547459213732911312 = 0
-149143276547656984948124912 mod -0.123912932193769965476541321 = 0
-149143276547656984948124912 mod 15 = -2
-149143276547656984948124912 mod -15 = -2
-149143276547656984948124912 mod 1 = 0
-149143276547656984948124912 mod -9 = -5
-149143276547656984948124912 mod 14.14 = -7
-149143276547656984948124912 mod -16.60 = -13
-149143276547656984948124912 mod 0.15 = 0
-149143276547656984948124912 mod -0.01 = 0
Number "0.1322135476547459213732911312" (scale 0)
0.1322135476547459213732911312 mod 15151324141414.412312232141241 = 0
0.1322135476547459213732911312 mod -132132245132134.1515123765412 = 0
0.1322135476547459213732911312 mod 141241241241241248267654747412 = 0
0.1322135476547459213732911312 mod -149143276547656984948124912 = 0
0.1322135476547459213732911312 mod 0.1322135476547459213732911312 = 0
0.1322135476547459213732911312 mod -0.123912932193769965476541321 = 0
0.1322135476547459213732911312 mod 15 = 0
0.1322135476547459213732911312 mod -15 = 0
0.1322135476547459213732911312 mod 1 = 0
0.1322135476547459213732911312 mod -9 = 0
0.1322135476547459213732911312 mod 14.14 = 0
0.1322135476547459213732911312 mod -16.60 = 0
0.1322135476547459213732911312 mod 0.15 = 0
0.1322135476547459213732911312 mod -0.01 = 0
Number "-0.123912932193769965476541321" (scale 0)
-0.123912932193769965476541321 mod 15151324141414.412312232141241 = 0
-0.123912932193769965476541321 mod -132132245132134.1515123765412 = 0
-0.123912932193769965476541321 mod 141241241241241248267654747412 = 0
-0.123912932193769965476541321 mod -149143276547656984948124912 = 0
-0.123912932193769965476541321 mod 0.1322135476547459213732911312 = 0
-0.123912932193769965476541321 mod -0.123912932193769965476541321 = 0
-0.123912932193769965476541321 mod 15 = 0
-0.123912932193769965476541321 mod -15 = 0
-0.123912932193769965476541321 mod 1 = 0
-0.123912932193769965476541321 mod -9 = 0
-0.123912932193769965476541321 mod 14.14 = 0
-0.123912932193769965476541321 mod -16.60 = 0
-0.123912932193769965476541321 mod 0.15 = 0
-0.123912932193769965476541321 mod -0.01 = 0
Number "15151324141414.412312232141241" (scale 10)
15151324141414.412312232141241 mod 15151324141414.412312232141241 = 0.0000000000
15151324141414.412312232141241 mod -132132245132134.1515123765412 = 15151324141414.4123122321
15151324141414.412312232141241 mod 141241241241241248267654747412 = 15151324141414.4123122321
15151324141414.412312232141241 mod -149143276547656984948124912 = 15151324141414.4123122321
15151324141414.412312232141241 mod 0.1322135476547459213732911312 = 0.0655398311
15151324141414.412312232141241 mod -0.123912932193769965476541321 = 0.0095762801
15151324141414.412312232141241 mod 15 = 4.4123122321
15151324141414.412312232141241 mod -15 = 4.4123122321
15151324141414.412312232141241 mod 1 = 0.4123122321
15151324141414.412312232141241 mod -9 = 1.4123122321
15151324141414.412312232141241 mod 14.14 = 5.4323122321
15151324141414.412312232141241 mod -16.60 = 12.0123122321
15151324141414.412312232141241 mod 0.15 = 0.0623122321
15151324141414.412312232141241 mod -0.01 = 0.0023122321
Number "-132132245132134.1515123765412" (scale 10)
-132132245132134.1515123765412 mod 15151324141414.412312232141241 = -10921652000818.8530145194
-132132245132134.1515123765412 mod -132132245132134.1515123765412 = 0.0000000000
-132132245132134.1515123765412 mod 141241241241241248267654747412 = -132132245132134.1515123765
-132132245132134.1515123765412 mod -149143276547656984948124912 = -132132245132134.1515123765
-132132245132134.1515123765412 mod 0.1322135476547459213732911312 = -0.1182110375
-132132245132134.1515123765412 mod -0.123912932193769965476541321 = -0.1185620881
-132132245132134.1515123765412 mod 15 = -4.1515123765
-132132245132134.1515123765412 mod -15 = -4.1515123765
-132132245132134.1515123765412 mod 1 = -0.1515123765
-132132245132134.1515123765412 mod -9 = -1.1515123765
-132132245132134.1515123765412 mod 14.14 = -13.0715123765
-132132245132134.1515123765412 mod -16.60 = -10.1515123765
-132132245132134.1515123765412 mod 0.15 = -0.1015123765
-132132245132134.1515123765412 mod -0.01 = -0.0015123765
Number "141241241241241248267654747412" (scale 10)
141241241241241248267654747412 mod 15151324141414.412312232141241 = 8686992633814.2424625456
141241241241241248267654747412 mod -132132245132134.1515123765412 = 123972365443639.7631318878
141241241241241248267654747412 mod 141241241241241248267654747412 = 0.0000000000
141241241241241248267654747412 mod -149143276547656984948124912 = 2558350610083521780455748.0000000000
141241241241241248267654747412 mod 0.1322135476547459213732911312 = 0.0325300077
141241241241241248267654747412 mod -0.123912932193769965476541321 = 0.0711933134
141241241241241248267654747412 mod 15 = 7.0000000000
141241241241241248267654747412 mod -15 = 7.0000000000
141241241241241248267654747412 mod 1 = 0.0000000000
141241241241241248267654747412 mod -9 = 4.0000000000
141241241241241248267654747412 mod 14.14 = 3.4600000000
141241241241241248267654747412 mod -16.60 = 16.4000000000
141241241241241248267654747412 mod 0.15 = 0.1000000000
141241241241241248267654747412 mod -0.01 = 0.0000000000
Number "-149143276547656984948124912" (scale 10)
-149143276547656984948124912 mod 15151324141414.412312232141241 = -6434701710093.8435198341
-149143276547656984948124912 mod -132132245132134.1515123765412 = -44045918171152.5846031960
-149143276547656984948124912 mod 141241241241241248267654747412 = -149143276547656984948124912.0000000000
-149143276547656984948124912 mod -149143276547656984948124912 = 0.0000000000
-149143276547656984948124912 mod 0.1322135476547459213732911312 = -0.0321624457
-149143276547656984948124912 mod -0.123912932193769965476541321 = -0.0895308287
-149143276547656984948124912 mod 15 = -2.0000000000
-149143276547656984948124912 mod -15 = -2.0000000000
-149143276547656984948124912 mod 1 = 0.0000000000
-149143276547656984948124912 mod -9 = -5.0000000000
-149143276547656984948124912 mod 14.14 = -7.0400000000
-149143276547656984948124912 mod -16.60 = -13.8000000000
-149143276547656984948124912 mod 0.15 = -0.0500000000
-149143276547656984948124912 mod -0.01 = 0.0000000000
Number "0.1322135476547459213732911312" (scale 10)
0.1322135476547459213732911312 mod 15151324141414.412312232141241 = 0.1322135476
0.1322135476547459213732911312 mod -132132245132134.1515123765412 = 0.1322135476
0.1322135476547459213732911312 mod 141241241241241248267654747412 = 0.1322135476
0.1322135476547459213732911312 mod -149143276547656984948124912 = 0.1322135476
0.1322135476547459213732911312 mod 0.1322135476547459213732911312 = 0.0000000000
0.1322135476547459213732911312 mod -0.123912932193769965476541321 = 0.0083006154
0.1322135476547459213732911312 mod 15 = 0.1322135476
0.1322135476547459213732911312 mod -15 = 0.1322135476
0.1322135476547459213732911312 mod 1 = 0.1322135476
0.1322135476547459213732911312 mod -9 = 0.1322135476
0.1322135476547459213732911312 mod 14.14 = 0.1322135476
0.1322135476547459213732911312 mod -16.60 = 0.1322135476
0.1322135476547459213732911312 mod 0.15 = 0.1322135476
0.1322135476547459213732911312 mod -0.01 = 0.0022135476
Number "-0.123912932193769965476541321" (scale 10)
-0.123912932193769965476541321 mod 15151324141414.412312232141241 = -0.1239129321
-0.123912932193769965476541321 mod -132132245132134.1515123765412 = -0.1239129321
-0.123912932193769965476541321 mod 141241241241241248267654747412 = -0.1239129321
-0.123912932193769965476541321 mod -149143276547656984948124912 = -0.1239129321
-0.123912932193769965476541321 mod 0.1322135476547459213732911312 = -0.1239129321
-0.123912932193769965476541321 mod -0.123912932193769965476541321 = 0.0000000000
-0.123912932193769965476541321 mod 15 = -0.1239129321
-0.123912932193769965476541321 mod -15 = -0.1239129321
-0.123912932193769965476541321 mod 1 = -0.1239129321
-0.123912932193769965476541321 mod -9 = -0.1239129321
-0.123912932193769965476541321 mod 14.14 = -0.1239129321
-0.123912932193769965476541321 mod -16.60 = -0.1239129321
-0.123912932193769965476541321 mod 0.15 = -0.1239129321
-0.123912932193769965476541321 mod -0.01 = -0.0039129321
|