diff --git a/ext/bcmath/tests/bcadd.phpt b/ext/bcmath/tests/bcadd.phpt index fa4be8acbe1ae..188d8228e5456 100644 --- a/ext/bcmath/tests/bcadd.phpt +++ b/ext/bcmath/tests/bcadd.phpt @@ -6,15 +6,342 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -3 -4.0000 --6.0000 --4.0000 -8728932003911564969352217864684.00 +Number "15" (scale 0) +15 + 15 = 30 +15 + -15 = 0 +15 + 1 = 16 +15 + -9 = 6 +15 + 14.14 = 29 +15 + -16.60 = -1 +15 + 0.15 = 15 +15 + -0.01 = 14 +15 + 0 = 15 +15 + 0.00 = 15 +15 + -0 = 15 +15 + -0.00 = 15 +15 + 15151324141414.412312232141241 = 15151324141429 +15 + -132132245132134.1515123765412 = -132132245132119 +15 + 141241241241241248267654747412 = 141241241241241248267654747427 +15 + -149143276547656984948124912 = -149143276547656984948124897 +15 + 0.1322135476547459213732911312 = 15 +15 + -0.123912932193769965476541321 = 14 + +Number "-15" (scale 0) +-15 + 15 = 0 +-15 + -15 = -30 +-15 + 1 = -14 +-15 + -9 = -24 +-15 + 14.14 = 0 +-15 + -16.60 = -31 +-15 + 0.15 = -14 +-15 + -0.01 = -15 +-15 + 0 = -15 +-15 + 0.00 = -15 +-15 + -0 = -15 +-15 + -0.00 = -15 +-15 + 15151324141414.412312232141241 = 15151324141399 +-15 + -132132245132134.1515123765412 = -132132245132149 +-15 + 141241241241241248267654747412 = 141241241241241248267654747397 +-15 + -149143276547656984948124912 = -149143276547656984948124927 +-15 + 0.1322135476547459213732911312 = -14 +-15 + -0.123912932193769965476541321 = -15 + +Number "1" (scale 0) +1 + 15 = 16 +1 + -15 = -14 +1 + 1 = 2 +1 + -9 = -8 +1 + 14.14 = 15 +1 + -16.60 = -15 +1 + 0.15 = 1 +1 + -0.01 = 0 +1 + 0 = 1 +1 + 0.00 = 1 +1 + -0 = 1 +1 + -0.00 = 1 +1 + 15151324141414.412312232141241 = 15151324141415 +1 + -132132245132134.1515123765412 = -132132245132133 +1 + 141241241241241248267654747412 = 141241241241241248267654747413 +1 + -149143276547656984948124912 = -149143276547656984948124911 +1 + 0.1322135476547459213732911312 = 1 +1 + -0.123912932193769965476541321 = 0 + +Number "-9" (scale 0) +-9 + 15 = 6 +-9 + -15 = -24 +-9 + 1 = -8 +-9 + -9 = -18 +-9 + 14.14 = 5 +-9 + -16.60 = -25 +-9 + 0.15 = -8 +-9 + -0.01 = -9 +-9 + 0 = -9 +-9 + 0.00 = -9 +-9 + -0 = -9 +-9 + -0.00 = -9 +-9 + 15151324141414.412312232141241 = 15151324141405 +-9 + -132132245132134.1515123765412 = -132132245132143 +-9 + 141241241241241248267654747412 = 141241241241241248267654747403 +-9 + -149143276547656984948124912 = -149143276547656984948124921 +-9 + 0.1322135476547459213732911312 = -8 +-9 + -0.123912932193769965476541321 = -9 + +Number "14.14" (scale 0) +14.14 + 15 = 29 +14.14 + -15 = 0 +14.14 + 1 = 15 +14.14 + -9 = 5 +14.14 + 14.14 = 28 +14.14 + -16.60 = -2 +14.14 + 0.15 = 14 +14.14 + -0.01 = 14 +14.14 + 0 = 14 +14.14 + 0.00 = 14 +14.14 + -0 = 14 +14.14 + -0.00 = 14 +14.14 + 15151324141414.412312232141241 = 15151324141428 +14.14 + -132132245132134.1515123765412 = -132132245132120 +14.14 + 141241241241241248267654747412 = 141241241241241248267654747426 +14.14 + -149143276547656984948124912 = -149143276547656984948124897 +14.14 + 0.1322135476547459213732911312 = 14 +14.14 + -0.123912932193769965476541321 = 14 + +Number "-16.60" (scale 0) +-16.60 + 15 = -1 +-16.60 + -15 = -31 +-16.60 + 1 = -15 +-16.60 + -9 = -25 +-16.60 + 14.14 = -2 +-16.60 + -16.60 = -33 +-16.60 + 0.15 = -16 +-16.60 + -0.01 = -16 +-16.60 + 0 = -16 +-16.60 + 0.00 = -16 +-16.60 + -0 = -16 +-16.60 + -0.00 = -16 +-16.60 + 15151324141414.412312232141241 = 15151324141397 +-16.60 + -132132245132134.1515123765412 = -132132245132150 +-16.60 + 141241241241241248267654747412 = 141241241241241248267654747395 +-16.60 + -149143276547656984948124912 = -149143276547656984948124928 +-16.60 + 0.1322135476547459213732911312 = -16 +-16.60 + -0.123912932193769965476541321 = -16 + +Number "0.15" (scale 0) +0.15 + 15 = 15 +0.15 + -15 = -14 +0.15 + 1 = 1 +0.15 + -9 = -8 +0.15 + 14.14 = 14 +0.15 + -16.60 = -16 +0.15 + 0.15 = 0 +0.15 + -0.01 = 0 +0.15 + 0 = 0 +0.15 + 0.00 = 0 +0.15 + -0 = 0 +0.15 + -0.00 = 0 +0.15 + 15151324141414.412312232141241 = 15151324141414 +0.15 + -132132245132134.1515123765412 = -132132245132134 +0.15 + 141241241241241248267654747412 = 141241241241241248267654747412 +0.15 + -149143276547656984948124912 = -149143276547656984948124911 +0.15 + 0.1322135476547459213732911312 = 0 +0.15 + -0.123912932193769965476541321 = 0 + +Number "-0.01" (scale 0) +-0.01 + 15 = 14 +-0.01 + -15 = -15 +-0.01 + 1 = 0 +-0.01 + -9 = -9 +-0.01 + 14.14 = 14 +-0.01 + -16.60 = -16 +-0.01 + 0.15 = 0 +-0.01 + -0.01 = 0 +-0.01 + 0 = 0 +-0.01 + 0.00 = 0 +-0.01 + -0 = 0 +-0.01 + -0.00 = 0 +-0.01 + 15151324141414.412312232141241 = 15151324141414 +-0.01 + -132132245132134.1515123765412 = -132132245132134 +-0.01 + 141241241241241248267654747412 = 141241241241241248267654747411 +-0.01 + -149143276547656984948124912 = -149143276547656984948124912 +-0.01 + 0.1322135476547459213732911312 = 0 +-0.01 + -0.123912932193769965476541321 = 0 + +Number "15" (scale 10) +15 + 15 = 30.0000000000 +15 + -15 = 0.0000000000 +15 + 1 = 16.0000000000 +15 + -9 = 6.0000000000 +15 + 14.14 = 29.1400000000 +15 + -16.60 = -1.6000000000 +15 + 0.15 = 15.1500000000 +15 + -0.01 = 14.9900000000 +15 + 0 = 15.0000000000 +15 + 0.00 = 15.0000000000 +15 + -0 = 15.0000000000 +15 + -0.00 = 15.0000000000 +15 + 15151324141414.412312232141241 = 15151324141429.4123122321 +15 + -132132245132134.1515123765412 = -132132245132119.1515123765 +15 + 141241241241241248267654747412 = 141241241241241248267654747427.0000000000 +15 + -149143276547656984948124912 = -149143276547656984948124897.0000000000 +15 + 0.1322135476547459213732911312 = 15.1322135476 +15 + -0.123912932193769965476541321 = 14.8760870678 + +Number "-15" (scale 10) +-15 + 15 = 0.0000000000 +-15 + -15 = -30.0000000000 +-15 + 1 = -14.0000000000 +-15 + -9 = -24.0000000000 +-15 + 14.14 = -0.8600000000 +-15 + -16.60 = -31.6000000000 +-15 + 0.15 = -14.8500000000 +-15 + -0.01 = -15.0100000000 +-15 + 0 = -15.0000000000 +-15 + 0.00 = -15.0000000000 +-15 + -0 = -15.0000000000 +-15 + -0.00 = -15.0000000000 +-15 + 15151324141414.412312232141241 = 15151324141399.4123122321 +-15 + -132132245132134.1515123765412 = -132132245132149.1515123765 +-15 + 141241241241241248267654747412 = 141241241241241248267654747397.0000000000 +-15 + -149143276547656984948124912 = -149143276547656984948124927.0000000000 +-15 + 0.1322135476547459213732911312 = -14.8677864523 +-15 + -0.123912932193769965476541321 = -15.1239129321 + +Number "1" (scale 10) +1 + 15 = 16.0000000000 +1 + -15 = -14.0000000000 +1 + 1 = 2.0000000000 +1 + -9 = -8.0000000000 +1 + 14.14 = 15.1400000000 +1 + -16.60 = -15.6000000000 +1 + 0.15 = 1.1500000000 +1 + -0.01 = 0.9900000000 +1 + 0 = 1.0000000000 +1 + 0.00 = 1.0000000000 +1 + -0 = 1.0000000000 +1 + -0.00 = 1.0000000000 +1 + 15151324141414.412312232141241 = 15151324141415.4123122321 +1 + -132132245132134.1515123765412 = -132132245132133.1515123765 +1 + 141241241241241248267654747412 = 141241241241241248267654747413.0000000000 +1 + -149143276547656984948124912 = -149143276547656984948124911.0000000000 +1 + 0.1322135476547459213732911312 = 1.1322135476 +1 + -0.123912932193769965476541321 = 0.8760870678 + +Number "-9" (scale 10) +-9 + 15 = 6.0000000000 +-9 + -15 = -24.0000000000 +-9 + 1 = -8.0000000000 +-9 + -9 = -18.0000000000 +-9 + 14.14 = 5.1400000000 +-9 + -16.60 = -25.6000000000 +-9 + 0.15 = -8.8500000000 +-9 + -0.01 = -9.0100000000 +-9 + 0 = -9.0000000000 +-9 + 0.00 = -9.0000000000 +-9 + -0 = -9.0000000000 +-9 + -0.00 = -9.0000000000 +-9 + 15151324141414.412312232141241 = 15151324141405.4123122321 +-9 + -132132245132134.1515123765412 = -132132245132143.1515123765 +-9 + 141241241241241248267654747412 = 141241241241241248267654747403.0000000000 +-9 + -149143276547656984948124912 = -149143276547656984948124921.0000000000 +-9 + 0.1322135476547459213732911312 = -8.8677864523 +-9 + -0.123912932193769965476541321 = -9.1239129321 + +Number "14.14" (scale 10) +14.14 + 15 = 29.1400000000 +14.14 + -15 = -0.8600000000 +14.14 + 1 = 15.1400000000 +14.14 + -9 = 5.1400000000 +14.14 + 14.14 = 28.2800000000 +14.14 + -16.60 = -2.4600000000 +14.14 + 0.15 = 14.2900000000 +14.14 + -0.01 = 14.1300000000 +14.14 + 0 = 14.1400000000 +14.14 + 0.00 = 14.1400000000 +14.14 + -0 = 14.1400000000 +14.14 + -0.00 = 14.1400000000 +14.14 + 15151324141414.412312232141241 = 15151324141428.5523122321 +14.14 + -132132245132134.1515123765412 = -132132245132120.0115123765 +14.14 + 141241241241241248267654747412 = 141241241241241248267654747426.1400000000 +14.14 + -149143276547656984948124912 = -149143276547656984948124897.8600000000 +14.14 + 0.1322135476547459213732911312 = 14.2722135476 +14.14 + -0.123912932193769965476541321 = 14.0160870678 + +Number "-16.60" (scale 10) +-16.60 + 15 = -1.6000000000 +-16.60 + -15 = -31.6000000000 +-16.60 + 1 = -15.6000000000 +-16.60 + -9 = -25.6000000000 +-16.60 + 14.14 = -2.4600000000 +-16.60 + -16.60 = -33.2000000000 +-16.60 + 0.15 = -16.4500000000 +-16.60 + -0.01 = -16.6100000000 +-16.60 + 0 = -16.6000000000 +-16.60 + 0.00 = -16.6000000000 +-16.60 + -0 = -16.6000000000 +-16.60 + -0.00 = -16.6000000000 +-16.60 + 15151324141414.412312232141241 = 15151324141397.8123122321 +-16.60 + -132132245132134.1515123765412 = -132132245132150.7515123765 +-16.60 + 141241241241241248267654747412 = 141241241241241248267654747395.4000000000 +-16.60 + -149143276547656984948124912 = -149143276547656984948124928.6000000000 +-16.60 + 0.1322135476547459213732911312 = -16.4677864523 +-16.60 + -0.123912932193769965476541321 = -16.7239129321 + +Number "0.15" (scale 10) +0.15 + 15 = 15.1500000000 +0.15 + -15 = -14.8500000000 +0.15 + 1 = 1.1500000000 +0.15 + -9 = -8.8500000000 +0.15 + 14.14 = 14.2900000000 +0.15 + -16.60 = -16.4500000000 +0.15 + 0.15 = 0.3000000000 +0.15 + -0.01 = 0.1400000000 +0.15 + 0 = 0.1500000000 +0.15 + 0.00 = 0.1500000000 +0.15 + -0 = 0.1500000000 +0.15 + -0.00 = 0.1500000000 +0.15 + 15151324141414.412312232141241 = 15151324141414.5623122321 +0.15 + -132132245132134.1515123765412 = -132132245132134.0015123765 +0.15 + 141241241241241248267654747412 = 141241241241241248267654747412.1500000000 +0.15 + -149143276547656984948124912 = -149143276547656984948124911.8500000000 +0.15 + 0.1322135476547459213732911312 = 0.2822135476 +0.15 + -0.123912932193769965476541321 = 0.0260870678 + +Number "-0.01" (scale 10) +-0.01 + 15 = 14.9900000000 +-0.01 + -15 = -15.0100000000 +-0.01 + 1 = 0.9900000000 +-0.01 + -9 = -9.0100000000 +-0.01 + 14.14 = 14.1300000000 +-0.01 + -16.60 = -16.6100000000 +-0.01 + 0.15 = 0.1400000000 +-0.01 + -0.01 = -0.0200000000 +-0.01 + 0 = -0.0100000000 +-0.01 + 0.00 = -0.0100000000 +-0.01 + -0 = -0.0100000000 +-0.01 + -0.00 = -0.0100000000 +-0.01 + 15151324141414.412312232141241 = 15151324141414.4023122321 +-0.01 + -132132245132134.1515123765412 = -132132245132134.1615123765 +-0.01 + 141241241241241248267654747412 = 141241241241241248267654747411.9900000000 +-0.01 + -149143276547656984948124912 = -149143276547656984948124912.0100000000 +-0.01 + 0.1322135476547459213732911312 = 0.1222135476 +-0.01 + -0.123912932193769965476541321 = -0.1339129321 diff --git a/ext/bcmath/tests/bcadd_large_numbers.phpt b/ext/bcmath/tests/bcadd_large_numbers.phpt new file mode 100644 index 0000000000000..fa9e6f95b4d14 --- /dev/null +++ b/ext/bcmath/tests/bcadd_large_numbers.phpt @@ -0,0 +1,276 @@ +--TEST-- +bcadd() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "15151324141414.412312232141241" (scale 0) +15151324141414.412312232141241 + 15151324141414.412312232141241 = 30302648282828 +15151324141414.412312232141241 + -132132245132134.1515123765412 = -116980920990719 +15151324141414.412312232141241 + 141241241241241248267654747412 = 141241241241241263418978888826 +15151324141414.412312232141241 + -149143276547656984948124912 = -149143276547641833623983497 +15151324141414.412312232141241 + 0.1322135476547459213732911312 = 15151324141414 +15151324141414.412312232141241 + -0.123912932193769965476541321 = 15151324141414 +15151324141414.412312232141241 + 0 = 15151324141414 +15151324141414.412312232141241 + 0.00 = 15151324141414 +15151324141414.412312232141241 + -0 = 15151324141414 +15151324141414.412312232141241 + -0.00 = 15151324141414 +15151324141414.412312232141241 + 15 = 15151324141429 +15151324141414.412312232141241 + -15 = 15151324141399 +15151324141414.412312232141241 + 1 = 15151324141415 +15151324141414.412312232141241 + -9 = 15151324141405 +15151324141414.412312232141241 + 14.14 = 15151324141428 +15151324141414.412312232141241 + -16.60 = 15151324141397 +15151324141414.412312232141241 + 0.15 = 15151324141414 +15151324141414.412312232141241 + -0.01 = 15151324141414 + +Number "-132132245132134.1515123765412" (scale 0) +-132132245132134.1515123765412 + 15151324141414.412312232141241 = -116980920990719 +-132132245132134.1515123765412 + -132132245132134.1515123765412 = -264264490264268 +-132132245132134.1515123765412 + 141241241241241248267654747412 = 141241241241241116135409615277 +-132132245132134.1515123765412 + -149143276547656984948124912 = -149143276547789117193257046 +-132132245132134.1515123765412 + 0.1322135476547459213732911312 = -132132245132134 +-132132245132134.1515123765412 + -0.123912932193769965476541321 = -132132245132134 +-132132245132134.1515123765412 + 0 = -132132245132134 +-132132245132134.1515123765412 + 0.00 = -132132245132134 +-132132245132134.1515123765412 + -0 = -132132245132134 +-132132245132134.1515123765412 + -0.00 = -132132245132134 +-132132245132134.1515123765412 + 15 = -132132245132119 +-132132245132134.1515123765412 + -15 = -132132245132149 +-132132245132134.1515123765412 + 1 = -132132245132133 +-132132245132134.1515123765412 + -9 = -132132245132143 +-132132245132134.1515123765412 + 14.14 = -132132245132120 +-132132245132134.1515123765412 + -16.60 = -132132245132150 +-132132245132134.1515123765412 + 0.15 = -132132245132134 +-132132245132134.1515123765412 + -0.01 = -132132245132134 + +Number "141241241241241248267654747412" (scale 0) +141241241241241248267654747412 + 15151324141414.412312232141241 = 141241241241241263418978888826 +141241241241241248267654747412 + -132132245132134.1515123765412 = 141241241241241116135409615277 +141241241241241248267654747412 + 141241241241241248267654747412 = 282482482482482496535309494824 +141241241241241248267654747412 + -149143276547656984948124912 = 141092097964693591282706622500 +141241241241241248267654747412 + 0.1322135476547459213732911312 = 141241241241241248267654747412 +141241241241241248267654747412 + -0.123912932193769965476541321 = 141241241241241248267654747411 +141241241241241248267654747412 + 0 = 141241241241241248267654747412 +141241241241241248267654747412 + 0.00 = 141241241241241248267654747412 +141241241241241248267654747412 + -0 = 141241241241241248267654747412 +141241241241241248267654747412 + -0.00 = 141241241241241248267654747412 +141241241241241248267654747412 + 15 = 141241241241241248267654747427 +141241241241241248267654747412 + -15 = 141241241241241248267654747397 +141241241241241248267654747412 + 1 = 141241241241241248267654747413 +141241241241241248267654747412 + -9 = 141241241241241248267654747403 +141241241241241248267654747412 + 14.14 = 141241241241241248267654747426 +141241241241241248267654747412 + -16.60 = 141241241241241248267654747395 +141241241241241248267654747412 + 0.15 = 141241241241241248267654747412 +141241241241241248267654747412 + -0.01 = 141241241241241248267654747411 + +Number "-149143276547656984948124912" (scale 0) +-149143276547656984948124912 + 15151324141414.412312232141241 = -149143276547641833623983497 +-149143276547656984948124912 + -132132245132134.1515123765412 = -149143276547789117193257046 +-149143276547656984948124912 + 141241241241241248267654747412 = 141092097964693591282706622500 +-149143276547656984948124912 + -149143276547656984948124912 = -298286553095313969896249824 +-149143276547656984948124912 + 0.1322135476547459213732911312 = -149143276547656984948124911 +-149143276547656984948124912 + -0.123912932193769965476541321 = -149143276547656984948124912 +-149143276547656984948124912 + 0 = -149143276547656984948124912 +-149143276547656984948124912 + 0.00 = -149143276547656984948124912 +-149143276547656984948124912 + -0 = -149143276547656984948124912 +-149143276547656984948124912 + -0.00 = -149143276547656984948124912 +-149143276547656984948124912 + 15 = -149143276547656984948124897 +-149143276547656984948124912 + -15 = -149143276547656984948124927 +-149143276547656984948124912 + 1 = -149143276547656984948124911 +-149143276547656984948124912 + -9 = -149143276547656984948124921 +-149143276547656984948124912 + 14.14 = -149143276547656984948124897 +-149143276547656984948124912 + -16.60 = -149143276547656984948124928 +-149143276547656984948124912 + 0.15 = -149143276547656984948124911 +-149143276547656984948124912 + -0.01 = -149143276547656984948124912 + +Number "0.1322135476547459213732911312" (scale 0) +0.1322135476547459213732911312 + 15151324141414.412312232141241 = 15151324141414 +0.1322135476547459213732911312 + -132132245132134.1515123765412 = -132132245132134 +0.1322135476547459213732911312 + 141241241241241248267654747412 = 141241241241241248267654747412 +0.1322135476547459213732911312 + -149143276547656984948124912 = -149143276547656984948124911 +0.1322135476547459213732911312 + 0.1322135476547459213732911312 = 0 +0.1322135476547459213732911312 + -0.123912932193769965476541321 = 0 +0.1322135476547459213732911312 + 0 = 0 +0.1322135476547459213732911312 + 0.00 = 0 +0.1322135476547459213732911312 + -0 = 0 +0.1322135476547459213732911312 + -0.00 = 0 +0.1322135476547459213732911312 + 15 = 15 +0.1322135476547459213732911312 + -15 = -14 +0.1322135476547459213732911312 + 1 = 1 +0.1322135476547459213732911312 + -9 = -8 +0.1322135476547459213732911312 + 14.14 = 14 +0.1322135476547459213732911312 + -16.60 = -16 +0.1322135476547459213732911312 + 0.15 = 0 +0.1322135476547459213732911312 + -0.01 = 0 + +Number "-0.123912932193769965476541321" (scale 0) +-0.123912932193769965476541321 + 15151324141414.412312232141241 = 15151324141414 +-0.123912932193769965476541321 + -132132245132134.1515123765412 = -132132245132134 +-0.123912932193769965476541321 + 141241241241241248267654747412 = 141241241241241248267654747411 +-0.123912932193769965476541321 + -149143276547656984948124912 = -149143276547656984948124912 +-0.123912932193769965476541321 + 0.1322135476547459213732911312 = 0 +-0.123912932193769965476541321 + -0.123912932193769965476541321 = 0 +-0.123912932193769965476541321 + 0 = 0 +-0.123912932193769965476541321 + 0.00 = 0 +-0.123912932193769965476541321 + -0 = 0 +-0.123912932193769965476541321 + -0.00 = 0 +-0.123912932193769965476541321 + 15 = 14 +-0.123912932193769965476541321 + -15 = -15 +-0.123912932193769965476541321 + 1 = 0 +-0.123912932193769965476541321 + -9 = -9 +-0.123912932193769965476541321 + 14.14 = 14 +-0.123912932193769965476541321 + -16.60 = -16 +-0.123912932193769965476541321 + 0.15 = 0 +-0.123912932193769965476541321 + -0.01 = 0 + +Number "15151324141414.412312232141241" (scale 10) +15151324141414.412312232141241 + 15151324141414.412312232141241 = 30302648282828.8246244642 +15151324141414.412312232141241 + -132132245132134.1515123765412 = -116980920990719.7392001443 +15151324141414.412312232141241 + 141241241241241248267654747412 = 141241241241241263418978888826.4123122321 +15151324141414.412312232141241 + -149143276547656984948124912 = -149143276547641833623983497.5876877678 +15151324141414.412312232141241 + 0.1322135476547459213732911312 = 15151324141414.5445257797 +15151324141414.412312232141241 + -0.123912932193769965476541321 = 15151324141414.2883992999 +15151324141414.412312232141241 + 0 = 15151324141414.4123122321 +15151324141414.412312232141241 + 0.00 = 15151324141414.4123122321 +15151324141414.412312232141241 + -0 = 15151324141414.4123122321 +15151324141414.412312232141241 + -0.00 = 15151324141414.4123122321 +15151324141414.412312232141241 + 15 = 15151324141429.4123122321 +15151324141414.412312232141241 + -15 = 15151324141399.4123122321 +15151324141414.412312232141241 + 1 = 15151324141415.4123122321 +15151324141414.412312232141241 + -9 = 15151324141405.4123122321 +15151324141414.412312232141241 + 14.14 = 15151324141428.5523122321 +15151324141414.412312232141241 + -16.60 = 15151324141397.8123122321 +15151324141414.412312232141241 + 0.15 = 15151324141414.5623122321 +15151324141414.412312232141241 + -0.01 = 15151324141414.4023122321 + +Number "-132132245132134.1515123765412" (scale 10) +-132132245132134.1515123765412 + 15151324141414.412312232141241 = -116980920990719.7392001443 +-132132245132134.1515123765412 + -132132245132134.1515123765412 = -264264490264268.3030247530 +-132132245132134.1515123765412 + 141241241241241248267654747412 = 141241241241241116135409615277.8484876234 +-132132245132134.1515123765412 + -149143276547656984948124912 = -149143276547789117193257046.1515123765 +-132132245132134.1515123765412 + 0.1322135476547459213732911312 = -132132245132134.0192988288 +-132132245132134.1515123765412 + -0.123912932193769965476541321 = -132132245132134.2754253087 +-132132245132134.1515123765412 + 0 = -132132245132134.1515123765 +-132132245132134.1515123765412 + 0.00 = -132132245132134.1515123765 +-132132245132134.1515123765412 + -0 = -132132245132134.1515123765 +-132132245132134.1515123765412 + -0.00 = -132132245132134.1515123765 +-132132245132134.1515123765412 + 15 = -132132245132119.1515123765 +-132132245132134.1515123765412 + -15 = -132132245132149.1515123765 +-132132245132134.1515123765412 + 1 = -132132245132133.1515123765 +-132132245132134.1515123765412 + -9 = -132132245132143.1515123765 +-132132245132134.1515123765412 + 14.14 = -132132245132120.0115123765 +-132132245132134.1515123765412 + -16.60 = -132132245132150.7515123765 +-132132245132134.1515123765412 + 0.15 = -132132245132134.0015123765 +-132132245132134.1515123765412 + -0.01 = -132132245132134.1615123765 + +Number "141241241241241248267654747412" (scale 10) +141241241241241248267654747412 + 15151324141414.412312232141241 = 141241241241241263418978888826.4123122321 +141241241241241248267654747412 + -132132245132134.1515123765412 = 141241241241241116135409615277.8484876234 +141241241241241248267654747412 + 141241241241241248267654747412 = 282482482482482496535309494824.0000000000 +141241241241241248267654747412 + -149143276547656984948124912 = 141092097964693591282706622500.0000000000 +141241241241241248267654747412 + 0.1322135476547459213732911312 = 141241241241241248267654747412.1322135476 +141241241241241248267654747412 + -0.123912932193769965476541321 = 141241241241241248267654747411.8760870678 +141241241241241248267654747412 + 0 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 + 0.00 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 + -0 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 + -0.00 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 + 15 = 141241241241241248267654747427.0000000000 +141241241241241248267654747412 + -15 = 141241241241241248267654747397.0000000000 +141241241241241248267654747412 + 1 = 141241241241241248267654747413.0000000000 +141241241241241248267654747412 + -9 = 141241241241241248267654747403.0000000000 +141241241241241248267654747412 + 14.14 = 141241241241241248267654747426.1400000000 +141241241241241248267654747412 + -16.60 = 141241241241241248267654747395.4000000000 +141241241241241248267654747412 + 0.15 = 141241241241241248267654747412.1500000000 +141241241241241248267654747412 + -0.01 = 141241241241241248267654747411.9900000000 + +Number "-149143276547656984948124912" (scale 10) +-149143276547656984948124912 + 15151324141414.412312232141241 = -149143276547641833623983497.5876877678 +-149143276547656984948124912 + -132132245132134.1515123765412 = -149143276547789117193257046.1515123765 +-149143276547656984948124912 + 141241241241241248267654747412 = 141092097964693591282706622500.0000000000 +-149143276547656984948124912 + -149143276547656984948124912 = -298286553095313969896249824.0000000000 +-149143276547656984948124912 + 0.1322135476547459213732911312 = -149143276547656984948124911.8677864523 +-149143276547656984948124912 + -0.123912932193769965476541321 = -149143276547656984948124912.1239129321 +-149143276547656984948124912 + 0 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 + 0.00 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 + -0 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 + -0.00 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 + 15 = -149143276547656984948124897.0000000000 +-149143276547656984948124912 + -15 = -149143276547656984948124927.0000000000 +-149143276547656984948124912 + 1 = -149143276547656984948124911.0000000000 +-149143276547656984948124912 + -9 = -149143276547656984948124921.0000000000 +-149143276547656984948124912 + 14.14 = -149143276547656984948124897.8600000000 +-149143276547656984948124912 + -16.60 = -149143276547656984948124928.6000000000 +-149143276547656984948124912 + 0.15 = -149143276547656984948124911.8500000000 +-149143276547656984948124912 + -0.01 = -149143276547656984948124912.0100000000 + +Number "0.1322135476547459213732911312" (scale 10) +0.1322135476547459213732911312 + 15151324141414.412312232141241 = 15151324141414.5445257797 +0.1322135476547459213732911312 + -132132245132134.1515123765412 = -132132245132134.0192988288 +0.1322135476547459213732911312 + 141241241241241248267654747412 = 141241241241241248267654747412.1322135476 +0.1322135476547459213732911312 + -149143276547656984948124912 = -149143276547656984948124911.8677864523 +0.1322135476547459213732911312 + 0.1322135476547459213732911312 = 0.2644270953 +0.1322135476547459213732911312 + -0.123912932193769965476541321 = 0.0083006154 +0.1322135476547459213732911312 + 0 = 0.1322135476 +0.1322135476547459213732911312 + 0.00 = 0.1322135476 +0.1322135476547459213732911312 + -0 = 0.1322135476 +0.1322135476547459213732911312 + -0.00 = 0.1322135476 +0.1322135476547459213732911312 + 15 = 15.1322135476 +0.1322135476547459213732911312 + -15 = -14.8677864523 +0.1322135476547459213732911312 + 1 = 1.1322135476 +0.1322135476547459213732911312 + -9 = -8.8677864523 +0.1322135476547459213732911312 + 14.14 = 14.2722135476 +0.1322135476547459213732911312 + -16.60 = -16.4677864523 +0.1322135476547459213732911312 + 0.15 = 0.2822135476 +0.1322135476547459213732911312 + -0.01 = 0.1222135476 + +Number "-0.123912932193769965476541321" (scale 10) +-0.123912932193769965476541321 + 15151324141414.412312232141241 = 15151324141414.2883992999 +-0.123912932193769965476541321 + -132132245132134.1515123765412 = -132132245132134.2754253087 +-0.123912932193769965476541321 + 141241241241241248267654747412 = 141241241241241248267654747411.8760870678 +-0.123912932193769965476541321 + -149143276547656984948124912 = -149143276547656984948124912.1239129321 +-0.123912932193769965476541321 + 0.1322135476547459213732911312 = 0.0083006154 +-0.123912932193769965476541321 + -0.123912932193769965476541321 = -0.2478258643 +-0.123912932193769965476541321 + 0 = -0.1239129321 +-0.123912932193769965476541321 + 0.00 = -0.1239129321 +-0.123912932193769965476541321 + -0 = -0.1239129321 +-0.123912932193769965476541321 + -0.00 = -0.1239129321 +-0.123912932193769965476541321 + 15 = 14.8760870678 +-0.123912932193769965476541321 + -15 = -15.1239129321 +-0.123912932193769965476541321 + 1 = 0.8760870678 +-0.123912932193769965476541321 + -9 = -9.1239129321 +-0.123912932193769965476541321 + 14.14 = 14.0160870678 +-0.123912932193769965476541321 + -16.60 = -16.7239129321 +-0.123912932193769965476541321 + 0.15 = 0.0260870678 +-0.123912932193769965476541321 + -0.01 = -0.1339129321 diff --git a/ext/bcmath/tests/bcadd_variation001.phpt b/ext/bcmath/tests/bcadd_variation001.phpt deleted file mode 100644 index d6bd89b52231d..0000000000000 --- a/ext/bcmath/tests/bcadd_variation001.phpt +++ /dev/null @@ -1,22 +0,0 @@ ---TEST-- -bcadd() with non-integers ---EXTENSIONS-- -bcmath ---INI-- -bcmath.scale=5 ---FILE-- - ---EXPECT-- -6.50 -6.50 --5.1 --5.1 -3.03000 --11.57000 diff --git a/ext/bcmath/tests/bcadd_zero.phpt b/ext/bcmath/tests/bcadd_zero.phpt new file mode 100644 index 0000000000000..560c85ac4fb1d --- /dev/null +++ b/ext/bcmath/tests/bcadd_zero.phpt @@ -0,0 +1,191 @@ +--TEST-- +bcadd() function with number zero +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "0" (scale 0) +0 + 0 = 0 +0 + 0.00 = 0 +0 + -0 = 0 +0 + -0.00 = 0 +0 + 15 = 15 +0 + -15 = -15 +0 + 1 = 1 +0 + -9 = -9 +0 + 14.14 = 14 +0 + -16.60 = -16 +0 + 0.15 = 0 +0 + -0.01 = 0 +0 + 15151324141414.412312232141241 = 15151324141414 +0 + -132132245132134.1515123765412 = -132132245132134 +0 + 141241241241241248267654747412 = 141241241241241248267654747412 +0 + -149143276547656984948124912 = -149143276547656984948124912 +0 + 0.1322135476547459213732911312 = 0 +0 + -0.123912932193769965476541321 = 0 + +Number "0.00" (scale 0) +0.00 + 0 = 0 +0.00 + 0.00 = 0 +0.00 + -0 = 0 +0.00 + -0.00 = 0 +0.00 + 15 = 15 +0.00 + -15 = -15 +0.00 + 1 = 1 +0.00 + -9 = -9 +0.00 + 14.14 = 14 +0.00 + -16.60 = -16 +0.00 + 0.15 = 0 +0.00 + -0.01 = 0 +0.00 + 15151324141414.412312232141241 = 15151324141414 +0.00 + -132132245132134.1515123765412 = -132132245132134 +0.00 + 141241241241241248267654747412 = 141241241241241248267654747412 +0.00 + -149143276547656984948124912 = -149143276547656984948124912 +0.00 + 0.1322135476547459213732911312 = 0 +0.00 + -0.123912932193769965476541321 = 0 + +Number "-0" (scale 0) +-0 + 0 = 0 +-0 + 0.00 = 0 +-0 + -0 = 0 +-0 + -0.00 = 0 +-0 + 15 = 15 +-0 + -15 = -15 +-0 + 1 = 1 +-0 + -9 = -9 +-0 + 14.14 = 14 +-0 + -16.60 = -16 +-0 + 0.15 = 0 +-0 + -0.01 = 0 +-0 + 15151324141414.412312232141241 = 15151324141414 +-0 + -132132245132134.1515123765412 = -132132245132134 +-0 + 141241241241241248267654747412 = 141241241241241248267654747412 +-0 + -149143276547656984948124912 = -149143276547656984948124912 +-0 + 0.1322135476547459213732911312 = 0 +-0 + -0.123912932193769965476541321 = 0 + +Number "-0.00" (scale 0) +-0.00 + 0 = 0 +-0.00 + 0.00 = 0 +-0.00 + -0 = 0 +-0.00 + -0.00 = 0 +-0.00 + 15 = 15 +-0.00 + -15 = -15 +-0.00 + 1 = 1 +-0.00 + -9 = -9 +-0.00 + 14.14 = 14 +-0.00 + -16.60 = -16 +-0.00 + 0.15 = 0 +-0.00 + -0.01 = 0 +-0.00 + 15151324141414.412312232141241 = 15151324141414 +-0.00 + -132132245132134.1515123765412 = -132132245132134 +-0.00 + 141241241241241248267654747412 = 141241241241241248267654747412 +-0.00 + -149143276547656984948124912 = -149143276547656984948124912 +-0.00 + 0.1322135476547459213732911312 = 0 +-0.00 + -0.123912932193769965476541321 = 0 + +Number "0" (scale 10) +0 + 0 = 0.0000000000 +0 + 0.00 = 0.0000000000 +0 + -0 = 0.0000000000 +0 + -0.00 = 0.0000000000 +0 + 15 = 15.0000000000 +0 + -15 = -15.0000000000 +0 + 1 = 1.0000000000 +0 + -9 = -9.0000000000 +0 + 14.14 = 14.1400000000 +0 + -16.60 = -16.6000000000 +0 + 0.15 = 0.1500000000 +0 + -0.01 = -0.0100000000 +0 + 15151324141414.412312232141241 = 15151324141414.4123122321 +0 + -132132245132134.1515123765412 = -132132245132134.1515123765 +0 + 141241241241241248267654747412 = 141241241241241248267654747412.0000000000 +0 + -149143276547656984948124912 = -149143276547656984948124912.0000000000 +0 + 0.1322135476547459213732911312 = 0.1322135476 +0 + -0.123912932193769965476541321 = -0.1239129321 + +Number "0.00" (scale 10) +0.00 + 0 = 0.0000000000 +0.00 + 0.00 = 0.0000000000 +0.00 + -0 = 0.0000000000 +0.00 + -0.00 = 0.0000000000 +0.00 + 15 = 15.0000000000 +0.00 + -15 = -15.0000000000 +0.00 + 1 = 1.0000000000 +0.00 + -9 = -9.0000000000 +0.00 + 14.14 = 14.1400000000 +0.00 + -16.60 = -16.6000000000 +0.00 + 0.15 = 0.1500000000 +0.00 + -0.01 = -0.0100000000 +0.00 + 15151324141414.412312232141241 = 15151324141414.4123122321 +0.00 + -132132245132134.1515123765412 = -132132245132134.1515123765 +0.00 + 141241241241241248267654747412 = 141241241241241248267654747412.0000000000 +0.00 + -149143276547656984948124912 = -149143276547656984948124912.0000000000 +0.00 + 0.1322135476547459213732911312 = 0.1322135476 +0.00 + -0.123912932193769965476541321 = -0.1239129321 + +Number "-0" (scale 10) +-0 + 0 = 0.0000000000 +-0 + 0.00 = 0.0000000000 +-0 + -0 = 0.0000000000 +-0 + -0.00 = 0.0000000000 +-0 + 15 = 15.0000000000 +-0 + -15 = -15.0000000000 +-0 + 1 = 1.0000000000 +-0 + -9 = -9.0000000000 +-0 + 14.14 = 14.1400000000 +-0 + -16.60 = -16.6000000000 +-0 + 0.15 = 0.1500000000 +-0 + -0.01 = -0.0100000000 +-0 + 15151324141414.412312232141241 = 15151324141414.4123122321 +-0 + -132132245132134.1515123765412 = -132132245132134.1515123765 +-0 + 141241241241241248267654747412 = 141241241241241248267654747412.0000000000 +-0 + -149143276547656984948124912 = -149143276547656984948124912.0000000000 +-0 + 0.1322135476547459213732911312 = 0.1322135476 +-0 + -0.123912932193769965476541321 = -0.1239129321 + +Number "-0.00" (scale 10) +-0.00 + 0 = 0.0000000000 +-0.00 + 0.00 = 0.0000000000 +-0.00 + -0 = 0.0000000000 +-0.00 + -0.00 = 0.0000000000 +-0.00 + 15 = 15.0000000000 +-0.00 + -15 = -15.0000000000 +-0.00 + 1 = 1.0000000000 +-0.00 + -9 = -9.0000000000 +-0.00 + 14.14 = 14.1400000000 +-0.00 + -16.60 = -16.6000000000 +-0.00 + 0.15 = 0.1500000000 +-0.00 + -0.01 = -0.0100000000 +-0.00 + 15151324141414.412312232141241 = 15151324141414.4123122321 +-0.00 + -132132245132134.1515123765412 = -132132245132134.1515123765 +-0.00 + 141241241241241248267654747412 = 141241241241241248267654747412.0000000000 +-0.00 + -149143276547656984948124912 = -149143276547656984948124912.0000000000 +-0.00 + 0.1322135476547459213732911312 = 0.1322135476 +-0.00 + -0.123912932193769965476541321 = -0.1239129321 diff --git a/ext/bcmath/tests/bccomp.phpt b/ext/bcmath/tests/bccomp.phpt index ba2fc79532505..6dc9cc1d96844 100644 --- a/ext/bcmath/tests/bccomp.phpt +++ b/ext/bcmath/tests/bccomp.phpt @@ -6,13 +6,20 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -1 -1 0 1 +-1 +1 +0 diff --git a/ext/bcmath/tests/bccomp_variation001.phpt b/ext/bcmath/tests/bccomp_variation001.phpt index 1aa2387c7f5b3..c95ed554fc58a 100644 --- a/ext/bcmath/tests/bccomp_variation001.phpt +++ b/ext/bcmath/tests/bccomp_variation001.phpt @@ -6,11 +6,13 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- 0 1 -1 +1 diff --git a/ext/bcmath/tests/bccomp_variation002.phpt b/ext/bcmath/tests/bccomp_variation002.phpt index eb9655083ca3f..299f454780601 100644 --- a/ext/bcmath/tests/bccomp_variation002.phpt +++ b/ext/bcmath/tests/bccomp_variation002.phpt @@ -6,12 +6,13 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- 0 @@ -20,3 +21,4 @@ echo bccomp("-2.29", "-2.3", "1"); -1 1 1 +-1 diff --git a/ext/bcmath/tests/bcdiv.phpt b/ext/bcmath/tests/bcdiv.phpt index 0ae0069ce5f09..c7f3f8c38d2b7 100644 --- a/ext/bcmath/tests/bcdiv.phpt +++ b/ext/bcmath/tests/bcdiv.phpt @@ -6,13 +6,274 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -0 -0.50 --0.2000 -4526580661.75 +Number "15" (scale 0) +15 / 15 = 1 +15 / -15 = -1 +15 / 1 = 15 +15 / -9 = -1 +15 / 14.14 = 1 +15 / -16.60 = 0 +15 / 0.15 = 100 +15 / -0.01 = -1500 +15 / 15151324141414.412312232141241 = 0 +15 / -132132245132134.1515123765412 = 0 +15 / 141241241241241248267654747412 = 0 +15 / -149143276547656984948124912 = 0 +15 / 0.1322135476547459213732911312 = 113 +15 / -0.123912932193769965476541321 = -121 + +Number "-15" (scale 0) +-15 / 15 = -1 +-15 / -15 = 1 +-15 / 1 = -15 +-15 / -9 = 1 +-15 / 14.14 = -1 +-15 / -16.60 = 0 +-15 / 0.15 = -100 +-15 / -0.01 = 1500 +-15 / 15151324141414.412312232141241 = 0 +-15 / -132132245132134.1515123765412 = 0 +-15 / 141241241241241248267654747412 = 0 +-15 / -149143276547656984948124912 = 0 +-15 / 0.1322135476547459213732911312 = -113 +-15 / -0.123912932193769965476541321 = 121 + +Number "1" (scale 0) +1 / 15 = 0 +1 / -15 = 0 +1 / 1 = 1 +1 / -9 = 0 +1 / 14.14 = 0 +1 / -16.60 = 0 +1 / 0.15 = 6 +1 / -0.01 = -100 +1 / 15151324141414.412312232141241 = 0 +1 / -132132245132134.1515123765412 = 0 +1 / 141241241241241248267654747412 = 0 +1 / -149143276547656984948124912 = 0 +1 / 0.1322135476547459213732911312 = 7 +1 / -0.123912932193769965476541321 = -8 + +Number "-9" (scale 0) +-9 / 15 = 0 +-9 / -15 = 0 +-9 / 1 = -9 +-9 / -9 = 1 +-9 / 14.14 = 0 +-9 / -16.60 = 0 +-9 / 0.15 = -60 +-9 / -0.01 = 900 +-9 / 15151324141414.412312232141241 = 0 +-9 / -132132245132134.1515123765412 = 0 +-9 / 141241241241241248267654747412 = 0 +-9 / -149143276547656984948124912 = 0 +-9 / 0.1322135476547459213732911312 = -68 +-9 / -0.123912932193769965476541321 = 72 + +Number "14.14" (scale 0) +14.14 / 15 = 0 +14.14 / -15 = 0 +14.14 / 1 = 14 +14.14 / -9 = -1 +14.14 / 14.14 = 1 +14.14 / -16.60 = 0 +14.14 / 0.15 = 94 +14.14 / -0.01 = -1414 +14.14 / 15151324141414.412312232141241 = 0 +14.14 / -132132245132134.1515123765412 = 0 +14.14 / 141241241241241248267654747412 = 0 +14.14 / -149143276547656984948124912 = 0 +14.14 / 0.1322135476547459213732911312 = 106 +14.14 / -0.123912932193769965476541321 = -114 + +Number "-16.60" (scale 0) +-16.60 / 15 = -1 +-16.60 / -15 = 1 +-16.60 / 1 = -16 +-16.60 / -9 = 1 +-16.60 / 14.14 = -1 +-16.60 / -16.60 = 1 +-16.60 / 0.15 = -110 +-16.60 / -0.01 = 1660 +-16.60 / 15151324141414.412312232141241 = 0 +-16.60 / -132132245132134.1515123765412 = 0 +-16.60 / 141241241241241248267654747412 = 0 +-16.60 / -149143276547656984948124912 = 0 +-16.60 / 0.1322135476547459213732911312 = -125 +-16.60 / -0.123912932193769965476541321 = 133 + +Number "0.15" (scale 0) +0.15 / 15 = 0 +0.15 / -15 = 0 +0.15 / 1 = 0 +0.15 / -9 = 0 +0.15 / 14.14 = 0 +0.15 / -16.60 = 0 +0.15 / 0.15 = 1 +0.15 / -0.01 = -15 +0.15 / 15151324141414.412312232141241 = 0 +0.15 / -132132245132134.1515123765412 = 0 +0.15 / 141241241241241248267654747412 = 0 +0.15 / -149143276547656984948124912 = 0 +0.15 / 0.1322135476547459213732911312 = 1 +0.15 / -0.123912932193769965476541321 = -1 + +Number "-0.01" (scale 0) +-0.01 / 15 = 0 +-0.01 / -15 = 0 +-0.01 / 1 = 0 +-0.01 / -9 = 0 +-0.01 / 14.14 = 0 +-0.01 / -16.60 = 0 +-0.01 / 0.15 = 0 +-0.01 / -0.01 = 1 +-0.01 / 15151324141414.412312232141241 = 0 +-0.01 / -132132245132134.1515123765412 = 0 +-0.01 / 141241241241241248267654747412 = 0 +-0.01 / -149143276547656984948124912 = 0 +-0.01 / 0.1322135476547459213732911312 = 0 +-0.01 / -0.123912932193769965476541321 = 0 + +Number "15" (scale 10) +15 / 15 = 1.0000000000 +15 / -15 = -1.0000000000 +15 / 1 = 15.0000000000 +15 / -9 = -1.6666666666 +15 / 14.14 = 1.0608203677 +15 / -16.60 = -0.9036144578 +15 / 0.15 = 100.0000000000 +15 / -0.01 = -1500.0000000000 +15 / 15151324141414.412312232141241 = 0.0000000000 +15 / -132132245132134.1515123765412 = 0.0000000000 +15 / 141241241241241248267654747412 = 0.0000000000 +15 / -149143276547656984948124912 = 0.0000000000 +15 / 0.1322135476547459213732911312 = 113.4528213339 +15 / -0.123912932193769965476541321 = -121.0527402946 + +Number "-15" (scale 10) +-15 / 15 = -1.0000000000 +-15 / -15 = 1.0000000000 +-15 / 1 = -15.0000000000 +-15 / -9 = 1.6666666666 +-15 / 14.14 = -1.0608203677 +-15 / -16.60 = 0.9036144578 +-15 / 0.15 = -100.0000000000 +-15 / -0.01 = 1500.0000000000 +-15 / 15151324141414.412312232141241 = 0.0000000000 +-15 / -132132245132134.1515123765412 = 0.0000000000 +-15 / 141241241241241248267654747412 = 0.0000000000 +-15 / -149143276547656984948124912 = 0.0000000000 +-15 / 0.1322135476547459213732911312 = -113.4528213339 +-15 / -0.123912932193769965476541321 = 121.0527402946 + +Number "1" (scale 10) +1 / 15 = 0.0666666666 +1 / -15 = -0.0666666666 +1 / 1 = 1.0000000000 +1 / -9 = -0.1111111111 +1 / 14.14 = 0.0707213578 +1 / -16.60 = -0.0602409638 +1 / 0.15 = 6.6666666666 +1 / -0.01 = -100.0000000000 +1 / 15151324141414.412312232141241 = 0.0000000000 +1 / -132132245132134.1515123765412 = 0.0000000000 +1 / 141241241241241248267654747412 = 0.0000000000 +1 / -149143276547656984948124912 = 0.0000000000 +1 / 0.1322135476547459213732911312 = 7.5635214222 +1 / -0.123912932193769965476541321 = -8.0701826863 + +Number "-9" (scale 10) +-9 / 15 = -0.6000000000 +-9 / -15 = 0.6000000000 +-9 / 1 = -9.0000000000 +-9 / -9 = 1.0000000000 +-9 / 14.14 = -0.6364922206 +-9 / -16.60 = 0.5421686746 +-9 / 0.15 = -60.0000000000 +-9 / -0.01 = 900.0000000000 +-9 / 15151324141414.412312232141241 = 0.0000000000 +-9 / -132132245132134.1515123765412 = 0.0000000000 +-9 / 141241241241241248267654747412 = 0.0000000000 +-9 / -149143276547656984948124912 = 0.0000000000 +-9 / 0.1322135476547459213732911312 = -68.0716928003 +-9 / -0.123912932193769965476541321 = 72.6316441767 + +Number "14.14" (scale 10) +14.14 / 15 = 0.9426666666 +14.14 / -15 = -0.9426666666 +14.14 / 1 = 14.1400000000 +14.14 / -9 = -1.5711111111 +14.14 / 14.14 = 1.0000000000 +14.14 / -16.60 = -0.8518072289 +14.14 / 0.15 = 94.2666666666 +14.14 / -0.01 = -1414.0000000000 +14.14 / 15151324141414.412312232141241 = 0.0000000000 +14.14 / -132132245132134.1515123765412 = 0.0000000000 +14.14 / 141241241241241248267654747412 = 0.0000000000 +14.14 / -149143276547656984948124912 = 0.0000000000 +14.14 / 0.1322135476547459213732911312 = 106.9481929107 +14.14 / -0.123912932193769965476541321 = -114.1123831844 + +Number "-16.60" (scale 10) +-16.60 / 15 = -1.1066666666 +-16.60 / -15 = 1.1066666666 +-16.60 / 1 = -16.6000000000 +-16.60 / -9 = 1.8444444444 +-16.60 / 14.14 = -1.1739745403 +-16.60 / -16.60 = 1.0000000000 +-16.60 / 0.15 = -110.6666666666 +-16.60 / -0.01 = 1660.0000000000 +-16.60 / 15151324141414.412312232141241 = 0.0000000000 +-16.60 / -132132245132134.1515123765412 = 0.0000000000 +-16.60 / 141241241241241248267654747412 = 0.0000000000 +-16.60 / -149143276547656984948124912 = 0.0000000000 +-16.60 / 0.1322135476547459213732911312 = -125.5544556095 +-16.60 / -0.123912932193769965476541321 = 133.9650325927 + +Number "0.15" (scale 10) +0.15 / 15 = 0.0100000000 +0.15 / -15 = -0.0100000000 +0.15 / 1 = 0.1500000000 +0.15 / -9 = -0.0166666666 +0.15 / 14.14 = 0.0106082036 +0.15 / -16.60 = -0.0090361445 +0.15 / 0.15 = 1.0000000000 +0.15 / -0.01 = -15.0000000000 +0.15 / 15151324141414.412312232141241 = 0.0000000000 +0.15 / -132132245132134.1515123765412 = 0.0000000000 +0.15 / 141241241241241248267654747412 = 0.0000000000 +0.15 / -149143276547656984948124912 = 0.0000000000 +0.15 / 0.1322135476547459213732911312 = 1.1345282133 +0.15 / -0.123912932193769965476541321 = -1.2105274029 + +Number "-0.01" (scale 10) +-0.01 / 15 = -0.0006666666 +-0.01 / -15 = 0.0006666666 +-0.01 / 1 = -0.0100000000 +-0.01 / -9 = 0.0011111111 +-0.01 / 14.14 = -0.0007072135 +-0.01 / -16.60 = 0.0006024096 +-0.01 / 0.15 = -0.0666666666 +-0.01 / -0.01 = 1.0000000000 +-0.01 / 15151324141414.412312232141241 = 0.0000000000 +-0.01 / -132132245132134.1515123765412 = 0.0000000000 +-0.01 / 141241241241241248267654747412 = 0.0000000000 +-0.01 / -149143276547656984948124912 = 0.0000000000 +-0.01 / 0.1322135476547459213732911312 = -0.0756352142 +-0.01 / -0.123912932193769965476541321 = 0.0807018268 diff --git a/ext/bcmath/tests/bcdiv_error1.phpt b/ext/bcmath/tests/bcdiv_error1.phpt index 7b5908f55561c..b6af64d69af36 100644 --- a/ext/bcmath/tests/bcdiv_error1.phpt +++ b/ext/bcmath/tests/bcdiv_error1.phpt @@ -13,6 +13,20 @@ try { } catch (DivisionByZeroError $ex) { echo $ex->getMessage(), PHP_EOL; } + +try { + bcdiv('10.99', '0.00'); +} catch (DivisionByZeroError $ex) { + echo $ex->getMessage(), PHP_EOL; +} + +try { + bcdiv('10.99', '-0.00'); +} catch (DivisionByZeroError $ex) { + echo $ex->getMessage(), PHP_EOL; +} ?> --EXPECT-- Division by zero +Division by zero +Division by zero diff --git a/ext/bcmath/tests/bcdiv_large_numbers.phpt b/ext/bcmath/tests/bcdiv_large_numbers.phpt new file mode 100644 index 0000000000000..6655b1a9e21e5 --- /dev/null +++ b/ext/bcmath/tests/bcdiv_large_numbers.phpt @@ -0,0 +1,224 @@ +--TEST-- +bcdiv() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--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 diff --git a/ext/bcmath/tests/bcdiv_zero.phpt b/ext/bcmath/tests/bcdiv_zero.phpt new file mode 100644 index 0000000000000..575dcce77fe88 --- /dev/null +++ b/ext/bcmath/tests/bcdiv_zero.phpt @@ -0,0 +1,159 @@ +--TEST-- +bcdiv() function with number zero +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "0" (scale 0) +0 / 15 = 0 +0 / -15 = 0 +0 / 1 = 0 +0 / -9 = 0 +0 / 14.14 = 0 +0 / -16.60 = 0 +0 / 0.15 = 0 +0 / -0.01 = 0 +0 / 15151324141414.412312232141241 = 0 +0 / -132132245132134.1515123765412 = 0 +0 / 141241241241241248267654747412 = 0 +0 / -149143276547656984948124912 = 0 +0 / 0.1322135476547459213732911312 = 0 +0 / -0.123912932193769965476541321 = 0 + +Number "0.00" (scale 0) +0.00 / 15 = 0 +0.00 / -15 = 0 +0.00 / 1 = 0 +0.00 / -9 = 0 +0.00 / 14.14 = 0 +0.00 / -16.60 = 0 +0.00 / 0.15 = 0 +0.00 / -0.01 = 0 +0.00 / 15151324141414.412312232141241 = 0 +0.00 / -132132245132134.1515123765412 = 0 +0.00 / 141241241241241248267654747412 = 0 +0.00 / -149143276547656984948124912 = 0 +0.00 / 0.1322135476547459213732911312 = 0 +0.00 / -0.123912932193769965476541321 = 0 + +Number "-0" (scale 0) +-0 / 15 = 0 +-0 / -15 = 0 +-0 / 1 = 0 +-0 / -9 = 0 +-0 / 14.14 = 0 +-0 / -16.60 = 0 +-0 / 0.15 = 0 +-0 / -0.01 = 0 +-0 / 15151324141414.412312232141241 = 0 +-0 / -132132245132134.1515123765412 = 0 +-0 / 141241241241241248267654747412 = 0 +-0 / -149143276547656984948124912 = 0 +-0 / 0.1322135476547459213732911312 = 0 +-0 / -0.123912932193769965476541321 = 0 + +Number "-0.00" (scale 0) +-0.00 / 15 = 0 +-0.00 / -15 = 0 +-0.00 / 1 = 0 +-0.00 / -9 = 0 +-0.00 / 14.14 = 0 +-0.00 / -16.60 = 0 +-0.00 / 0.15 = 0 +-0.00 / -0.01 = 0 +-0.00 / 15151324141414.412312232141241 = 0 +-0.00 / -132132245132134.1515123765412 = 0 +-0.00 / 141241241241241248267654747412 = 0 +-0.00 / -149143276547656984948124912 = 0 +-0.00 / 0.1322135476547459213732911312 = 0 +-0.00 / -0.123912932193769965476541321 = 0 + +Number "0" (scale 10) +0 / 15 = 0.0000000000 +0 / -15 = 0.0000000000 +0 / 1 = 0.0000000000 +0 / -9 = 0.0000000000 +0 / 14.14 = 0.0000000000 +0 / -16.60 = 0.0000000000 +0 / 0.15 = 0.0000000000 +0 / -0.01 = 0.0000000000 +0 / 15151324141414.412312232141241 = 0.0000000000 +0 / -132132245132134.1515123765412 = 0.0000000000 +0 / 141241241241241248267654747412 = 0.0000000000 +0 / -149143276547656984948124912 = 0.0000000000 +0 / 0.1322135476547459213732911312 = 0.0000000000 +0 / -0.123912932193769965476541321 = 0.0000000000 + +Number "0.00" (scale 10) +0.00 / 15 = 0.0000000000 +0.00 / -15 = 0.0000000000 +0.00 / 1 = 0.0000000000 +0.00 / -9 = 0.0000000000 +0.00 / 14.14 = 0.0000000000 +0.00 / -16.60 = 0.0000000000 +0.00 / 0.15 = 0.0000000000 +0.00 / -0.01 = 0.0000000000 +0.00 / 15151324141414.412312232141241 = 0.0000000000 +0.00 / -132132245132134.1515123765412 = 0.0000000000 +0.00 / 141241241241241248267654747412 = 0.0000000000 +0.00 / -149143276547656984948124912 = 0.0000000000 +0.00 / 0.1322135476547459213732911312 = 0.0000000000 +0.00 / -0.123912932193769965476541321 = 0.0000000000 + +Number "-0" (scale 10) +-0 / 15 = 0.0000000000 +-0 / -15 = 0.0000000000 +-0 / 1 = 0.0000000000 +-0 / -9 = 0.0000000000 +-0 / 14.14 = 0.0000000000 +-0 / -16.60 = 0.0000000000 +-0 / 0.15 = 0.0000000000 +-0 / -0.01 = 0.0000000000 +-0 / 15151324141414.412312232141241 = 0.0000000000 +-0 / -132132245132134.1515123765412 = 0.0000000000 +-0 / 141241241241241248267654747412 = 0.0000000000 +-0 / -149143276547656984948124912 = 0.0000000000 +-0 / 0.1322135476547459213732911312 = 0.0000000000 +-0 / -0.123912932193769965476541321 = 0.0000000000 + +Number "-0.00" (scale 10) +-0.00 / 15 = 0.0000000000 +-0.00 / -15 = 0.0000000000 +-0.00 / 1 = 0.0000000000 +-0.00 / -9 = 0.0000000000 +-0.00 / 14.14 = 0.0000000000 +-0.00 / -16.60 = 0.0000000000 +-0.00 / 0.15 = 0.0000000000 +-0.00 / -0.01 = 0.0000000000 +-0.00 / 15151324141414.412312232141241 = 0.0000000000 +-0.00 / -132132245132134.1515123765412 = 0.0000000000 +-0.00 / 141241241241241248267654747412 = 0.0000000000 +-0.00 / -149143276547656984948124912 = 0.0000000000 +-0.00 / 0.1322135476547459213732911312 = 0.0000000000 +-0.00 / -0.123912932193769965476541321 = 0.0000000000 diff --git a/ext/bcmath/tests/bcmod.phpt b/ext/bcmath/tests/bcmod.phpt index 1cfc835456a00..eca11e12efbbb 100644 --- a/ext/bcmath/tests/bcmod.phpt +++ b/ext/bcmath/tests/bcmod.phpt @@ -6,15 +6,274 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -1 --1 -1459434331351930289678 -3.5 -356 +Number "15" (scale 0) +15 mod 15 = 0 +15 mod -15 = 0 +15 mod 1 = 0 +15 mod -9 = 6 +15 mod 14.14 = 0 +15 mod -16.60 = 15 +15 mod 0.15 = 0 +15 mod -0.01 = 0 +15 mod 15151324141414.412312232141241 = 15 +15 mod -132132245132134.1515123765412 = 15 +15 mod 141241241241241248267654747412 = 15 +15 mod -149143276547656984948124912 = 15 +15 mod 0.1322135476547459213732911312 = 0 +15 mod -0.123912932193769965476541321 = 0 + +Number "-15" (scale 0) +-15 mod 15 = 0 +-15 mod -15 = 0 +-15 mod 1 = 0 +-15 mod -9 = -6 +-15 mod 14.14 = 0 +-15 mod -16.60 = -15 +-15 mod 0.15 = 0 +-15 mod -0.01 = 0 +-15 mod 15151324141414.412312232141241 = -15 +-15 mod -132132245132134.1515123765412 = -15 +-15 mod 141241241241241248267654747412 = -15 +-15 mod -149143276547656984948124912 = -15 +-15 mod 0.1322135476547459213732911312 = 0 +-15 mod -0.123912932193769965476541321 = 0 + +Number "1" (scale 0) +1 mod 15 = 1 +1 mod -15 = 1 +1 mod 1 = 0 +1 mod -9 = 1 +1 mod 14.14 = 1 +1 mod -16.60 = 1 +1 mod 0.15 = 0 +1 mod -0.01 = 0 +1 mod 15151324141414.412312232141241 = 1 +1 mod -132132245132134.1515123765412 = 1 +1 mod 141241241241241248267654747412 = 1 +1 mod -149143276547656984948124912 = 1 +1 mod 0.1322135476547459213732911312 = 0 +1 mod -0.123912932193769965476541321 = 0 + +Number "-9" (scale 0) +-9 mod 15 = -9 +-9 mod -15 = -9 +-9 mod 1 = 0 +-9 mod -9 = 0 +-9 mod 14.14 = -9 +-9 mod -16.60 = -9 +-9 mod 0.15 = 0 +-9 mod -0.01 = 0 +-9 mod 15151324141414.412312232141241 = -9 +-9 mod -132132245132134.1515123765412 = -9 +-9 mod 141241241241241248267654747412 = -9 +-9 mod -149143276547656984948124912 = -9 +-9 mod 0.1322135476547459213732911312 = 0 +-9 mod -0.123912932193769965476541321 = 0 + +Number "14.14" (scale 0) +14.14 mod 15 = 14 +14.14 mod -15 = 14 +14.14 mod 1 = 0 +14.14 mod -9 = 5 +14.14 mod 14.14 = 0 +14.14 mod -16.60 = 14 +14.14 mod 0.15 = 0 +14.14 mod -0.01 = 0 +14.14 mod 15151324141414.412312232141241 = 14 +14.14 mod -132132245132134.1515123765412 = 14 +14.14 mod 141241241241241248267654747412 = 14 +14.14 mod -149143276547656984948124912 = 14 +14.14 mod 0.1322135476547459213732911312 = 0 +14.14 mod -0.123912932193769965476541321 = 0 + +Number "-16.60" (scale 0) +-16.60 mod 15 = -1 +-16.60 mod -15 = -1 +-16.60 mod 1 = 0 +-16.60 mod -9 = -7 +-16.60 mod 14.14 = -2 +-16.60 mod -16.60 = 0 +-16.60 mod 0.15 = 0 +-16.60 mod -0.01 = 0 +-16.60 mod 15151324141414.412312232141241 = -16 +-16.60 mod -132132245132134.1515123765412 = -16 +-16.60 mod 141241241241241248267654747412 = -16 +-16.60 mod -149143276547656984948124912 = -16 +-16.60 mod 0.1322135476547459213732911312 = 0 +-16.60 mod -0.123912932193769965476541321 = 0 + +Number "0.15" (scale 0) +0.15 mod 15 = 0 +0.15 mod -15 = 0 +0.15 mod 1 = 0 +0.15 mod -9 = 0 +0.15 mod 14.14 = 0 +0.15 mod -16.60 = 0 +0.15 mod 0.15 = 0 +0.15 mod -0.01 = 0 +0.15 mod 15151324141414.412312232141241 = 0 +0.15 mod -132132245132134.1515123765412 = 0 +0.15 mod 141241241241241248267654747412 = 0 +0.15 mod -149143276547656984948124912 = 0 +0.15 mod 0.1322135476547459213732911312 = 0 +0.15 mod -0.123912932193769965476541321 = 0 + +Number "-0.01" (scale 0) +-0.01 mod 15 = 0 +-0.01 mod -15 = 0 +-0.01 mod 1 = 0 +-0.01 mod -9 = 0 +-0.01 mod 14.14 = 0 +-0.01 mod -16.60 = 0 +-0.01 mod 0.15 = 0 +-0.01 mod -0.01 = 0 +-0.01 mod 15151324141414.412312232141241 = 0 +-0.01 mod -132132245132134.1515123765412 = 0 +-0.01 mod 141241241241241248267654747412 = 0 +-0.01 mod -149143276547656984948124912 = 0 +-0.01 mod 0.1322135476547459213732911312 = 0 +-0.01 mod -0.123912932193769965476541321 = 0 + +Number "15" (scale 10) +15 mod 15 = 0.0000000000 +15 mod -15 = 0.0000000000 +15 mod 1 = 0.0000000000 +15 mod -9 = 6.0000000000 +15 mod 14.14 = 0.8600000000 +15 mod -16.60 = 15.0000000000 +15 mod 0.15 = 0.0000000000 +15 mod -0.01 = 0.0000000000 +15 mod 15151324141414.412312232141241 = 15.0000000000 +15 mod -132132245132134.1515123765412 = 15.0000000000 +15 mod 141241241241241248267654747412 = 15.0000000000 +15 mod -149143276547656984948124912 = 15.0000000000 +15 mod 0.1322135476547459213732911312 = 0.0598691150 +15 mod -0.123912932193769965476541321 = 0.0065352045 + +Number "-15" (scale 10) +-15 mod 15 = 0.0000000000 +-15 mod -15 = 0.0000000000 +-15 mod 1 = 0.0000000000 +-15 mod -9 = -6.0000000000 +-15 mod 14.14 = -0.8600000000 +-15 mod -16.60 = -15.0000000000 +-15 mod 0.15 = 0.0000000000 +-15 mod -0.01 = 0.0000000000 +-15 mod 15151324141414.412312232141241 = -15.0000000000 +-15 mod -132132245132134.1515123765412 = -15.0000000000 +-15 mod 141241241241241248267654747412 = -15.0000000000 +-15 mod -149143276547656984948124912 = -15.0000000000 +-15 mod 0.1322135476547459213732911312 = -0.0598691150 +-15 mod -0.123912932193769965476541321 = -0.0065352045 + +Number "1" (scale 10) +1 mod 15 = 1.0000000000 +1 mod -15 = 1.0000000000 +1 mod 1 = 0.0000000000 +1 mod -9 = 1.0000000000 +1 mod 14.14 = 1.0000000000 +1 mod -16.60 = 1.0000000000 +1 mod 0.15 = 0.1000000000 +1 mod -0.01 = 0.0000000000 +1 mod 15151324141414.412312232141241 = 1.0000000000 +1 mod -132132245132134.1515123765412 = 1.0000000000 +1 mod 141241241241241248267654747412 = 1.0000000000 +1 mod -149143276547656984948124912 = 1.0000000000 +1 mod 0.1322135476547459213732911312 = 0.0745051664 +1 mod -0.123912932193769965476541321 = 0.0086965424 + +Number "-9" (scale 10) +-9 mod 15 = -9.0000000000 +-9 mod -15 = -9.0000000000 +-9 mod 1 = 0.0000000000 +-9 mod -9 = 0.0000000000 +-9 mod 14.14 = -9.0000000000 +-9 mod -16.60 = -9.0000000000 +-9 mod 0.15 = 0.0000000000 +-9 mod -0.01 = 0.0000000000 +-9 mod 15151324141414.412312232141241 = -9.0000000000 +-9 mod -132132245132134.1515123765412 = -9.0000000000 +-9 mod 141241241241241248267654747412 = -9.0000000000 +-9 mod -149143276547656984948124912 = -9.0000000000 +-9 mod 0.1322135476547459213732911312 = -0.0094787594 +-9 mod -0.123912932193769965476541321 = -0.0782688820 + +Number "14.14" (scale 10) +14.14 mod 15 = 14.1400000000 +14.14 mod -15 = 14.1400000000 +14.14 mod 1 = 0.1400000000 +14.14 mod -9 = 5.1400000000 +14.14 mod 14.14 = 0.0000000000 +14.14 mod -16.60 = 14.1400000000 +14.14 mod 0.15 = 0.0400000000 +14.14 mod -0.01 = 0.0000000000 +14.14 mod 15151324141414.412312232141241 = 14.1400000000 +14.14 mod -132132245132134.1515123765412 = 14.1400000000 +14.14 mod 141241241241241248267654747412 = 14.1400000000 +14.14 mod -149143276547656984948124912 = 14.1400000000 +14.14 mod 0.1322135476547459213732911312 = 0.1253639485 +14.14 mod -0.123912932193769965476541321 = 0.0139257299 + +Number "-16.60" (scale 10) +-16.60 mod 15 = -1.6000000000 +-16.60 mod -15 = -1.6000000000 +-16.60 mod 1 = -0.6000000000 +-16.60 mod -9 = -7.6000000000 +-16.60 mod 14.14 = -2.4600000000 +-16.60 mod -16.60 = 0.0000000000 +-16.60 mod 0.15 = -0.1000000000 +-16.60 mod -0.01 = 0.0000000000 +-16.60 mod 15151324141414.412312232141241 = -16.6000000000 +-16.60 mod -132132245132134.1515123765412 = -16.6000000000 +-16.60 mod 141241241241241248267654747412 = -16.6000000000 +-16.60 mod -149143276547656984948124912 = -16.6000000000 +-16.60 mod 0.1322135476547459213732911312 = -0.0733065431 +-16.60 mod -0.123912932193769965476541321 = -0.1195800182 + +Number "0.15" (scale 10) +0.15 mod 15 = 0.1500000000 +0.15 mod -15 = 0.1500000000 +0.15 mod 1 = 0.1500000000 +0.15 mod -9 = 0.1500000000 +0.15 mod 14.14 = 0.1500000000 +0.15 mod -16.60 = 0.1500000000 +0.15 mod 0.15 = 0.0000000000 +0.15 mod -0.01 = 0.0000000000 +0.15 mod 15151324141414.412312232141241 = 0.1500000000 +0.15 mod -132132245132134.1515123765412 = 0.1500000000 +0.15 mod 141241241241241248267654747412 = 0.1500000000 +0.15 mod -149143276547656984948124912 = 0.1500000000 +0.15 mod 0.1322135476547459213732911312 = 0.0177864523 +0.15 mod -0.123912932193769965476541321 = 0.0260870678 + +Number "-0.01" (scale 10) +-0.01 mod 15 = -0.0100000000 +-0.01 mod -15 = -0.0100000000 +-0.01 mod 1 = -0.0100000000 +-0.01 mod -9 = -0.0100000000 +-0.01 mod 14.14 = -0.0100000000 +-0.01 mod -16.60 = -0.0100000000 +-0.01 mod 0.15 = -0.0100000000 +-0.01 mod -0.01 = 0.0000000000 +-0.01 mod 15151324141414.412312232141241 = -0.0100000000 +-0.01 mod -132132245132134.1515123765412 = -0.0100000000 +-0.01 mod 141241241241241248267654747412 = -0.0100000000 +-0.01 mod -149143276547656984948124912 = -0.0100000000 +-0.01 mod 0.1322135476547459213732911312 = -0.0100000000 +-0.01 mod -0.123912932193769965476541321 = -0.0100000000 diff --git a/ext/bcmath/tests/bcmod_error2.phpt b/ext/bcmath/tests/bcmod_error2.phpt index 59939b3f08757..37c433fbb89c4 100644 --- a/ext/bcmath/tests/bcmod_error2.phpt +++ b/ext/bcmath/tests/bcmod_error2.phpt @@ -11,6 +11,18 @@ try { } catch (DivisionByZeroError $ex) { echo $ex->getMessage(), PHP_EOL; } +try { + bcmod("10", "0.000"); +} catch (DivisionByZeroError $ex) { + echo $ex->getMessage(), PHP_EOL; +} +try { + bcmod("10", "-0.0"); +} catch (DivisionByZeroError $ex) { + echo $ex->getMessage(), PHP_EOL; +} ?> --EXPECT-- Modulo by zero +Modulo by zero +Modulo by zero diff --git a/ext/bcmath/tests/bcmod_large_numbers.phpt b/ext/bcmath/tests/bcmod_large_numbers.phpt new file mode 100644 index 0000000000000..b012f1bfa4b60 --- /dev/null +++ b/ext/bcmath/tests/bcmod_large_numbers.phpt @@ -0,0 +1,224 @@ +--TEST-- +bcmod() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--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 diff --git a/ext/bcmath/tests/bcmod_zero.phpt b/ext/bcmath/tests/bcmod_zero.phpt new file mode 100644 index 0000000000000..ba2fc3f3996a4 --- /dev/null +++ b/ext/bcmath/tests/bcmod_zero.phpt @@ -0,0 +1,159 @@ +--TEST-- +bcmod() function with number zero +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "0" (scale 0) +0 mod 15 = 0 +0 mod -15 = 0 +0 mod 1 = 0 +0 mod -9 = 0 +0 mod 14.14 = 0 +0 mod -16.60 = 0 +0 mod 0.15 = 0 +0 mod -0.01 = 0 +0 mod 15151324141414.412312232141241 = 0 +0 mod -132132245132134.1515123765412 = 0 +0 mod 141241241241241248267654747412 = 0 +0 mod -149143276547656984948124912 = 0 +0 mod 0.1322135476547459213732911312 = 0 +0 mod -0.123912932193769965476541321 = 0 + +Number "0.00" (scale 0) +0.00 mod 15 = 0 +0.00 mod -15 = 0 +0.00 mod 1 = 0 +0.00 mod -9 = 0 +0.00 mod 14.14 = 0 +0.00 mod -16.60 = 0 +0.00 mod 0.15 = 0 +0.00 mod -0.01 = 0 +0.00 mod 15151324141414.412312232141241 = 0 +0.00 mod -132132245132134.1515123765412 = 0 +0.00 mod 141241241241241248267654747412 = 0 +0.00 mod -149143276547656984948124912 = 0 +0.00 mod 0.1322135476547459213732911312 = 0 +0.00 mod -0.123912932193769965476541321 = 0 + +Number "-0" (scale 0) +-0 mod 15 = 0 +-0 mod -15 = 0 +-0 mod 1 = 0 +-0 mod -9 = 0 +-0 mod 14.14 = 0 +-0 mod -16.60 = 0 +-0 mod 0.15 = 0 +-0 mod -0.01 = 0 +-0 mod 15151324141414.412312232141241 = 0 +-0 mod -132132245132134.1515123765412 = 0 +-0 mod 141241241241241248267654747412 = 0 +-0 mod -149143276547656984948124912 = 0 +-0 mod 0.1322135476547459213732911312 = 0 +-0 mod -0.123912932193769965476541321 = 0 + +Number "-0.00" (scale 0) +-0.00 mod 15 = 0 +-0.00 mod -15 = 0 +-0.00 mod 1 = 0 +-0.00 mod -9 = 0 +-0.00 mod 14.14 = 0 +-0.00 mod -16.60 = 0 +-0.00 mod 0.15 = 0 +-0.00 mod -0.01 = 0 +-0.00 mod 15151324141414.412312232141241 = 0 +-0.00 mod -132132245132134.1515123765412 = 0 +-0.00 mod 141241241241241248267654747412 = 0 +-0.00 mod -149143276547656984948124912 = 0 +-0.00 mod 0.1322135476547459213732911312 = 0 +-0.00 mod -0.123912932193769965476541321 = 0 + +Number "0" (scale 10) +0 mod 15 = 0.0000000000 +0 mod -15 = 0.0000000000 +0 mod 1 = 0.0000000000 +0 mod -9 = 0.0000000000 +0 mod 14.14 = 0.0000000000 +0 mod -16.60 = 0.0000000000 +0 mod 0.15 = 0.0000000000 +0 mod -0.01 = 0.0000000000 +0 mod 15151324141414.412312232141241 = 0.0000000000 +0 mod -132132245132134.1515123765412 = 0.0000000000 +0 mod 141241241241241248267654747412 = 0.0000000000 +0 mod -149143276547656984948124912 = 0.0000000000 +0 mod 0.1322135476547459213732911312 = 0.0000000000 +0 mod -0.123912932193769965476541321 = 0.0000000000 + +Number "0.00" (scale 10) +0.00 mod 15 = 0.0000000000 +0.00 mod -15 = 0.0000000000 +0.00 mod 1 = 0.0000000000 +0.00 mod -9 = 0.0000000000 +0.00 mod 14.14 = 0.0000000000 +0.00 mod -16.60 = 0.0000000000 +0.00 mod 0.15 = 0.0000000000 +0.00 mod -0.01 = 0.0000000000 +0.00 mod 15151324141414.412312232141241 = 0.0000000000 +0.00 mod -132132245132134.1515123765412 = 0.0000000000 +0.00 mod 141241241241241248267654747412 = 0.0000000000 +0.00 mod -149143276547656984948124912 = 0.0000000000 +0.00 mod 0.1322135476547459213732911312 = 0.0000000000 +0.00 mod -0.123912932193769965476541321 = 0.0000000000 + +Number "-0" (scale 10) +-0 mod 15 = 0.0000000000 +-0 mod -15 = 0.0000000000 +-0 mod 1 = 0.0000000000 +-0 mod -9 = 0.0000000000 +-0 mod 14.14 = 0.0000000000 +-0 mod -16.60 = 0.0000000000 +-0 mod 0.15 = 0.0000000000 +-0 mod -0.01 = 0.0000000000 +-0 mod 15151324141414.412312232141241 = 0.0000000000 +-0 mod -132132245132134.1515123765412 = 0.0000000000 +-0 mod 141241241241241248267654747412 = 0.0000000000 +-0 mod -149143276547656984948124912 = 0.0000000000 +-0 mod 0.1322135476547459213732911312 = 0.0000000000 +-0 mod -0.123912932193769965476541321 = 0.0000000000 + +Number "-0.00" (scale 10) +-0.00 mod 15 = 0.0000000000 +-0.00 mod -15 = 0.0000000000 +-0.00 mod 1 = 0.0000000000 +-0.00 mod -9 = 0.0000000000 +-0.00 mod 14.14 = 0.0000000000 +-0.00 mod -16.60 = 0.0000000000 +-0.00 mod 0.15 = 0.0000000000 +-0.00 mod -0.01 = 0.0000000000 +-0.00 mod 15151324141414.412312232141241 = 0.0000000000 +-0.00 mod -132132245132134.1515123765412 = 0.0000000000 +-0.00 mod 141241241241241248267654747412 = 0.0000000000 +-0.00 mod -149143276547656984948124912 = 0.0000000000 +-0.00 mod 0.1322135476547459213732911312 = 0.0000000000 +-0.00 mod -0.123912932193769965476541321 = 0.0000000000 diff --git a/ext/bcmath/tests/bcmul.phpt b/ext/bcmath/tests/bcmul.phpt index 2e2a8a7a11c32..7c0c501a1fea5 100644 --- a/ext/bcmath/tests/bcmul.phpt +++ b/ext/bcmath/tests/bcmul.phpt @@ -6,15 +6,342 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -2 --15 -12193263111263526900 -3.75 -3.97 +Number "15" (scale 0) +15 * 15 = 225 +15 * -15 = -225 +15 * 1 = 15 +15 * -9 = -135 +15 * 14.14 = 212 +15 * -16.60 = -249 +15 * 0.15 = 2 +15 * -0.01 = 0 +15 * 0 = 0 +15 * 0.00 = 0 +15 * -0 = 0 +15 * -0.00 = 0 +15 * 15151324141414.412312232141241 = 227269862121216 +15 * -132132245132134.1515123765412 = -1981983676982012 +15 * 141241241241241248267654747412 = 2118618618618618724014821211180 +15 * -149143276547656984948124912 = -2237149148214854774221873680 +15 * 0.1322135476547459213732911312 = 1 +15 * -0.123912932193769965476541321 = -1 + +Number "-15" (scale 0) +-15 * 15 = -225 +-15 * -15 = 225 +-15 * 1 = -15 +-15 * -9 = 135 +-15 * 14.14 = -212 +-15 * -16.60 = 249 +-15 * 0.15 = -2 +-15 * -0.01 = 0 +-15 * 0 = 0 +-15 * 0.00 = 0 +-15 * -0 = 0 +-15 * -0.00 = 0 +-15 * 15151324141414.412312232141241 = -227269862121216 +-15 * -132132245132134.1515123765412 = 1981983676982012 +-15 * 141241241241241248267654747412 = -2118618618618618724014821211180 +-15 * -149143276547656984948124912 = 2237149148214854774221873680 +-15 * 0.1322135476547459213732911312 = -1 +-15 * -0.123912932193769965476541321 = 1 + +Number "1" (scale 0) +1 * 15 = 15 +1 * -15 = -15 +1 * 1 = 1 +1 * -9 = -9 +1 * 14.14 = 14 +1 * -16.60 = -16 +1 * 0.15 = 0 +1 * -0.01 = 0 +1 * 0 = 0 +1 * 0.00 = 0 +1 * -0 = 0 +1 * -0.00 = 0 +1 * 15151324141414.412312232141241 = 15151324141414 +1 * -132132245132134.1515123765412 = -132132245132134 +1 * 141241241241241248267654747412 = 141241241241241248267654747412 +1 * -149143276547656984948124912 = -149143276547656984948124912 +1 * 0.1322135476547459213732911312 = 0 +1 * -0.123912932193769965476541321 = 0 + +Number "-9" (scale 0) +-9 * 15 = -135 +-9 * -15 = 135 +-9 * 1 = -9 +-9 * -9 = 81 +-9 * 14.14 = -127 +-9 * -16.60 = 149 +-9 * 0.15 = -1 +-9 * -0.01 = 0 +-9 * 0 = 0 +-9 * 0.00 = 0 +-9 * -0 = 0 +-9 * -0.00 = 0 +-9 * 15151324141414.412312232141241 = -136361917272729 +-9 * -132132245132134.1515123765412 = 1189190206189207 +-9 * 141241241241241248267654747412 = -1271171171171171234408892726708 +-9 * -149143276547656984948124912 = 1342289488928912864533124208 +-9 * 0.1322135476547459213732911312 = -1 +-9 * -0.123912932193769965476541321 = 1 + +Number "14.14" (scale 0) +14.14 * 15 = 212 +14.14 * -15 = -212 +14.14 * 1 = 14 +14.14 * -9 = -127 +14.14 * 14.14 = 199 +14.14 * -16.60 = -234 +14.14 * 0.15 = 2 +14.14 * -0.01 = 0 +14.14 * 0 = 0 +14.14 * 0.00 = 0 +14.14 * -0 = 0 +14.14 * -0.00 = 0 +14.14 * 15151324141414.412312232141241 = 214239723359599 +14.14 * -132132245132134.1515123765412 = -1868349946168376 +14.14 * 141241241241241248267654747412 = 1997151151151151250504638128405 +14.14 * -149143276547656984948124912 = -2108885930383869767166486255 +14.14 * 0.1322135476547459213732911312 = 1 +14.14 * -0.123912932193769965476541321 = -1 + +Number "-16.60" (scale 0) +-16.60 * 15 = -249 +-16.60 * -15 = 249 +-16.60 * 1 = -16 +-16.60 * -9 = 149 +-16.60 * 14.14 = -234 +-16.60 * -16.60 = 275 +-16.60 * 0.15 = -2 +-16.60 * -0.01 = 0 +-16.60 * 0 = 0 +-16.60 * 0.00 = 0 +-16.60 * -0 = 0 +-16.60 * -0.00 = 0 +-16.60 * 15151324141414.412312232141241 = -251511980747479 +-16.60 * -132132245132134.1515123765412 = 2193395269193426 +-16.60 * 141241241241241248267654747412 = -2344604604604604721243068807039 +-16.60 * -149143276547656984948124912 = 2475778390691105950138873539 +-16.60 * 0.1322135476547459213732911312 = -2 +-16.60 * -0.123912932193769965476541321 = 2 + +Number "0.15" (scale 0) +0.15 * 15 = 2 +0.15 * -15 = -2 +0.15 * 1 = 0 +0.15 * -9 = -1 +0.15 * 14.14 = 2 +0.15 * -16.60 = -2 +0.15 * 0.15 = 0 +0.15 * -0.01 = 0 +0.15 * 0 = 0 +0.15 * 0.00 = 0 +0.15 * -0 = 0 +0.15 * -0.00 = 0 +0.15 * 15151324141414.412312232141241 = 2272698621212 +0.15 * -132132245132134.1515123765412 = -19819836769820 +0.15 * 141241241241241248267654747412 = 21186186186186187240148212111 +0.15 * -149143276547656984948124912 = -22371491482148547742218736 +0.15 * 0.1322135476547459213732911312 = 0 +0.15 * -0.123912932193769965476541321 = 0 + +Number "-0.01" (scale 0) +-0.01 * 15 = 0 +-0.01 * -15 = 0 +-0.01 * 1 = 0 +-0.01 * -9 = 0 +-0.01 * 14.14 = 0 +-0.01 * -16.60 = 0 +-0.01 * 0.15 = 0 +-0.01 * -0.01 = 0 +-0.01 * 0 = 0 +-0.01 * 0.00 = 0 +-0.01 * -0 = 0 +-0.01 * -0.00 = 0 +-0.01 * 15151324141414.412312232141241 = -151513241414 +-0.01 * -132132245132134.1515123765412 = 1321322451321 +-0.01 * 141241241241241248267654747412 = -1412412412412412482676547474 +-0.01 * -149143276547656984948124912 = 1491432765476569849481249 +-0.01 * 0.1322135476547459213732911312 = 0 +-0.01 * -0.123912932193769965476541321 = 0 + +Number "15" (scale 10) +15 * 15 = 225.0000000000 +15 * -15 = -225.0000000000 +15 * 1 = 15.0000000000 +15 * -9 = -135.0000000000 +15 * 14.14 = 212.1000000000 +15 * -16.60 = -249.0000000000 +15 * 0.15 = 2.2500000000 +15 * -0.01 = -0.1500000000 +15 * 0 = 0.0000000000 +15 * 0.00 = 0.0000000000 +15 * -0 = 0.0000000000 +15 * -0.00 = 0.0000000000 +15 * 15151324141414.412312232141241 = 227269862121216.1846834821 +15 * -132132245132134.1515123765412 = -1981983676982012.2726856481 +15 * 141241241241241248267654747412 = 2118618618618618724014821211180.0000000000 +15 * -149143276547656984948124912 = -2237149148214854774221873680.0000000000 +15 * 0.1322135476547459213732911312 = 1.9832032148 +15 * -0.123912932193769965476541321 = -1.8586939829 + +Number "-15" (scale 10) +-15 * 15 = -225.0000000000 +-15 * -15 = 225.0000000000 +-15 * 1 = -15.0000000000 +-15 * -9 = 135.0000000000 +-15 * 14.14 = -212.1000000000 +-15 * -16.60 = 249.0000000000 +-15 * 0.15 = -2.2500000000 +-15 * -0.01 = 0.1500000000 +-15 * 0 = 0.0000000000 +-15 * 0.00 = 0.0000000000 +-15 * -0 = 0.0000000000 +-15 * -0.00 = 0.0000000000 +-15 * 15151324141414.412312232141241 = -227269862121216.1846834821 +-15 * -132132245132134.1515123765412 = 1981983676982012.2726856481 +-15 * 141241241241241248267654747412 = -2118618618618618724014821211180.0000000000 +-15 * -149143276547656984948124912 = 2237149148214854774221873680.0000000000 +-15 * 0.1322135476547459213732911312 = -1.9832032148 +-15 * -0.123912932193769965476541321 = 1.8586939829 + +Number "1" (scale 10) +1 * 15 = 15.0000000000 +1 * -15 = -15.0000000000 +1 * 1 = 1.0000000000 +1 * -9 = -9.0000000000 +1 * 14.14 = 14.1400000000 +1 * -16.60 = -16.6000000000 +1 * 0.15 = 0.1500000000 +1 * -0.01 = -0.0100000000 +1 * 0 = 0.0000000000 +1 * 0.00 = 0.0000000000 +1 * -0 = 0.0000000000 +1 * -0.00 = 0.0000000000 +1 * 15151324141414.412312232141241 = 15151324141414.4123122321 +1 * -132132245132134.1515123765412 = -132132245132134.1515123765 +1 * 141241241241241248267654747412 = 141241241241241248267654747412.0000000000 +1 * -149143276547656984948124912 = -149143276547656984948124912.0000000000 +1 * 0.1322135476547459213732911312 = 0.1322135476 +1 * -0.123912932193769965476541321 = -0.1239129321 + +Number "-9" (scale 10) +-9 * 15 = -135.0000000000 +-9 * -15 = 135.0000000000 +-9 * 1 = -9.0000000000 +-9 * -9 = 81.0000000000 +-9 * 14.14 = -127.2600000000 +-9 * -16.60 = 149.4000000000 +-9 * 0.15 = -1.3500000000 +-9 * -0.01 = 0.0900000000 +-9 * 0 = 0.0000000000 +-9 * 0.00 = 0.0000000000 +-9 * -0 = 0.0000000000 +-9 * -0.00 = 0.0000000000 +-9 * 15151324141414.412312232141241 = -136361917272729.7108100892 +-9 * -132132245132134.1515123765412 = 1189190206189207.3636113888 +-9 * 141241241241241248267654747412 = -1271171171171171234408892726708.0000000000 +-9 * -149143276547656984948124912 = 1342289488928912864533124208.0000000000 +-9 * 0.1322135476547459213732911312 = -1.1899219288 +-9 * -0.123912932193769965476541321 = 1.1152163897 + +Number "14.14" (scale 10) +14.14 * 15 = 212.1000000000 +14.14 * -15 = -212.1000000000 +14.14 * 1 = 14.1400000000 +14.14 * -9 = -127.2600000000 +14.14 * 14.14 = 199.9396000000 +14.14 * -16.60 = -234.7240000000 +14.14 * 0.15 = 2.1210000000 +14.14 * -0.01 = -0.1414000000 +14.14 * 0 = 0.0000000000 +14.14 * 0.00 = 0.0000000000 +14.14 * -0 = 0.0000000000 +14.14 * -0.00 = 0.0000000000 +14.14 * 15151324141414.412312232141241 = 214239723359599.7900949624 +14.14 * -132132245132134.1515123765412 = -1868349946168376.9023850042 +14.14 * 141241241241241248267654747412 = 1997151151151151250504638128405.6800000000 +14.14 * -149143276547656984948124912 = -2108885930383869767166486255.6800000000 +14.14 * 0.1322135476547459213732911312 = 1.8694995638 +14.14 * -0.123912932193769965476541321 = -1.7521288612 + +Number "-16.60" (scale 10) +-16.60 * 15 = -249.0000000000 +-16.60 * -15 = 249.0000000000 +-16.60 * 1 = -16.6000000000 +-16.60 * -9 = 149.4000000000 +-16.60 * 14.14 = -234.7240000000 +-16.60 * -16.60 = 275.5600000000 +-16.60 * 0.15 = -2.4900000000 +-16.60 * -0.01 = 0.1660000000 +-16.60 * 0 = 0.0000000000 +-16.60 * 0.00 = 0.0000000000 +-16.60 * -0 = 0.0000000000 +-16.60 * -0.00 = 0.0000000000 +-16.60 * 15151324141414.412312232141241 = -251511980747479.2443830535 +-16.60 * -132132245132134.1515123765412 = 2193395269193426.9151054505 +-16.60 * 141241241241241248267654747412 = -2344604604604604721243068807039.2000000000 +-16.60 * -149143276547656984948124912 = 2475778390691105950138873539.2000000000 +-16.60 * 0.1322135476547459213732911312 = -2.1947448910 +-16.60 * -0.123912932193769965476541321 = 2.0569546744 + +Number "0.15" (scale 10) +0.15 * 15 = 2.2500000000 +0.15 * -15 = -2.2500000000 +0.15 * 1 = 0.1500000000 +0.15 * -9 = -1.3500000000 +0.15 * 14.14 = 2.1210000000 +0.15 * -16.60 = -2.4900000000 +0.15 * 0.15 = 0.0225000000 +0.15 * -0.01 = -0.0015000000 +0.15 * 0 = 0.0000000000 +0.15 * 0.00 = 0.0000000000 +0.15 * -0 = 0.0000000000 +0.15 * -0.00 = 0.0000000000 +0.15 * 15151324141414.412312232141241 = 2272698621212.1618468348 +0.15 * -132132245132134.1515123765412 = -19819836769820.1227268564 +0.15 * 141241241241241248267654747412 = 21186186186186187240148212111.8000000000 +0.15 * -149143276547656984948124912 = -22371491482148547742218736.8000000000 +0.15 * 0.1322135476547459213732911312 = 0.0198320321 +0.15 * -0.123912932193769965476541321 = -0.0185869398 + +Number "-0.01" (scale 10) +-0.01 * 15 = -0.1500000000 +-0.01 * -15 = 0.1500000000 +-0.01 * 1 = -0.0100000000 +-0.01 * -9 = 0.0900000000 +-0.01 * 14.14 = -0.1414000000 +-0.01 * -16.60 = 0.1660000000 +-0.01 * 0.15 = -0.0015000000 +-0.01 * -0.01 = 0.0001000000 +-0.01 * 0 = 0.0000000000 +-0.01 * 0.00 = 0.0000000000 +-0.01 * -0 = 0.0000000000 +-0.01 * -0.00 = 0.0000000000 +-0.01 * 15151324141414.412312232141241 = -151513241414.1441231223 +-0.01 * -132132245132134.1515123765412 = 1321322451321.3415151237 +-0.01 * 141241241241241248267654747412 = -1412412412412412482676547474.1200000000 +-0.01 * -149143276547656984948124912 = 1491432765476569849481249.1200000000 +-0.01 * 0.1322135476547459213732911312 = -0.0013221354 +-0.01 * -0.123912932193769965476541321 = 0.0012391293 diff --git a/ext/bcmath/tests/bcmul_large_numbers.phpt b/ext/bcmath/tests/bcmul_large_numbers.phpt new file mode 100644 index 0000000000000..ff6314164be5d --- /dev/null +++ b/ext/bcmath/tests/bcmul_large_numbers.phpt @@ -0,0 +1,276 @@ +--TEST-- +bcmul() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "15151324141414.412312232141241" (scale 0) +15151324141414.412312232141241 * 15151324141414.412312232141241 = 229562623238207178422472679 +15151324141414.412312232141241 * -132132245132134.1515123765412 = -2001978475529791133885654151 +15151324141414.412312232141241 * 141241241241241248267654747412 = 2139991828181755439048012256383179795538025 +15151324141414.412312232141241 * -149143276547656984948124912 = -2259718126486161223119790826488981524974 +15151324141414.412312232141241 * 0.1322135476547459213732911312 = 2003210316403 +15151324141414.412312232141241 * -0.123912932193769965476541321 = -1877445000980 +15151324141414.412312232141241 * 0 = 0 +15151324141414.412312232141241 * 0.00 = 0 +15151324141414.412312232141241 * -0 = 0 +15151324141414.412312232141241 * -0.00 = 0 +15151324141414.412312232141241 * 15 = 227269862121216 +15151324141414.412312232141241 * -15 = -227269862121216 +15151324141414.412312232141241 * 1 = 15151324141414 +15151324141414.412312232141241 * -9 = -136361917272729 +15151324141414.412312232141241 * 14.14 = 214239723359599 +15151324141414.412312232141241 * -16.60 = -251511980747479 +15151324141414.412312232141241 * 0.15 = 2272698621212 +15151324141414.412312232141241 * -0.01 = -151513241414 + +Number "-132132245132134.1515123765412" (scale 0) +-132132245132134.1515123765412 * 15151324141414.412312232141241 = -2001978475529791133885654151 +-132132245132134.1515123765412 * -132132245132134.1515123765412 = 17458930203658389178460349344 +-132132245132134.1515123765412 * 141241241241241248267654747412 = -18662522310454584290173879848464266332555498 +-132132245132134.1515123765412 * -149143276547656984948124912 = 19706635976604687211527336089051267200810 +-132132245132134.1515123765412 * 0.1322135476547459213732911312 = -17469672888505 +-132132245132134.1515123765412 * -0.123912932193769965476541321 = 16372893931668 +-132132245132134.1515123765412 * 0 = 0 +-132132245132134.1515123765412 * 0.00 = 0 +-132132245132134.1515123765412 * -0 = 0 +-132132245132134.1515123765412 * -0.00 = 0 +-132132245132134.1515123765412 * 15 = -1981983676982012 +-132132245132134.1515123765412 * -15 = 1981983676982012 +-132132245132134.1515123765412 * 1 = -132132245132134 +-132132245132134.1515123765412 * -9 = 1189190206189207 +-132132245132134.1515123765412 * 14.14 = -1868349946168376 +-132132245132134.1515123765412 * -16.60 = 2193395269193426 +-132132245132134.1515123765412 * 0.15 = -19819836769820 +-132132245132134.1515123765412 * -0.01 = 1321322451321 + +Number "141241241241241248267654747412" (scale 0) +141241241241241248267654747412 * 15151324141414.412312232141241 = 2139991828181755439048012256383179795538025 +141241241241241248267654747412 * -132132245132134.1515123765412 = -18662522310454584290173879848464266332555498 +141241241241241248267654747412 * 141241241241241248267654747412 = 19949088227366507629622653233761071253230364164181520697744 +141241241241241248267654747412 * -149143276547656984948124912 = -21065181502376778401476291731259854717478035244384727744 +141241241241241248267654747412 * 0.1322135476547459213732911312 = 18674005579664314748578026521 +141241241241241248267654747412 * -0.123912932193769965476541321 = -17501616348889832831364181429 +141241241241241248267654747412 * 0 = 0 +141241241241241248267654747412 * 0.00 = 0 +141241241241241248267654747412 * -0 = 0 +141241241241241248267654747412 * -0.00 = 0 +141241241241241248267654747412 * 15 = 2118618618618618724014821211180 +141241241241241248267654747412 * -15 = -2118618618618618724014821211180 +141241241241241248267654747412 * 1 = 141241241241241248267654747412 +141241241241241248267654747412 * -9 = -1271171171171171234408892726708 +141241241241241248267654747412 * 14.14 = 1997151151151151250504638128405 +141241241241241248267654747412 * -16.60 = -2344604604604604721243068807039 +141241241241241248267654747412 * 0.15 = 21186186186186187240148212111 +141241241241241248267654747412 * -0.01 = -1412412412412412482676547474 + +Number "-149143276547656984948124912" (scale 0) +-149143276547656984948124912 * 15151324141414.412312232141241 = -2259718126486161223119790826488981524974 +-149143276547656984948124912 * -132132245132134.1515123765412 = 19706635976604687211527336089051267200810 +-149143276547656984948124912 * 141241241241241248267654747412 = -21065181502376778401476291731259854717478035244384727744 +-149143276547656984948124912 * -149143276547656984948124912 = 22243716939370890018820252028254140421311664755007744 +-149143276547656984948124912 * 0.1322135476547459213732911312 = -19718761701218596539144441 +-149143276547656984948124912 * -0.123912932193769965476541321 = 18480780714006502282899774 +-149143276547656984948124912 * 0 = 0 +-149143276547656984948124912 * 0.00 = 0 +-149143276547656984948124912 * -0 = 0 +-149143276547656984948124912 * -0.00 = 0 +-149143276547656984948124912 * 15 = -2237149148214854774221873680 +-149143276547656984948124912 * -15 = 2237149148214854774221873680 +-149143276547656984948124912 * 1 = -149143276547656984948124912 +-149143276547656984948124912 * -9 = 1342289488928912864533124208 +-149143276547656984948124912 * 14.14 = -2108885930383869767166486255 +-149143276547656984948124912 * -16.60 = 2475778390691105950138873539 +-149143276547656984948124912 * 0.15 = -22371491482148547742218736 +-149143276547656984948124912 * -0.01 = 1491432765476569849481249 + +Number "0.1322135476547459213732911312" (scale 0) +0.1322135476547459213732911312 * 15151324141414.412312232141241 = 2003210316403 +0.1322135476547459213732911312 * -132132245132134.1515123765412 = -17469672888505 +0.1322135476547459213732911312 * 141241241241241248267654747412 = 18674005579664314748578026521 +0.1322135476547459213732911312 * -149143276547656984948124912 = -19718761701218596539144441 +0.1322135476547459213732911312 * 0.1322135476547459213732911312 = 0 +0.1322135476547459213732911312 * -0.123912932193769965476541321 = 0 +0.1322135476547459213732911312 * 0 = 0 +0.1322135476547459213732911312 * 0.00 = 0 +0.1322135476547459213732911312 * -0 = 0 +0.1322135476547459213732911312 * -0.00 = 0 +0.1322135476547459213732911312 * 15 = 1 +0.1322135476547459213732911312 * -15 = -1 +0.1322135476547459213732911312 * 1 = 0 +0.1322135476547459213732911312 * -9 = -1 +0.1322135476547459213732911312 * 14.14 = 1 +0.1322135476547459213732911312 * -16.60 = -2 +0.1322135476547459213732911312 * 0.15 = 0 +0.1322135476547459213732911312 * -0.01 = 0 + +Number "-0.123912932193769965476541321" (scale 0) +-0.123912932193769965476541321 * 15151324141414.412312232141241 = -1877445000980 +-0.123912932193769965476541321 * -132132245132134.1515123765412 = 16372893931668 +-0.123912932193769965476541321 * 141241241241241248267654747412 = -17501616348889832831364181429 +-0.123912932193769965476541321 * -149143276547656984948124912 = 18480780714006502282899774 +-0.123912932193769965476541321 * 0.1322135476547459213732911312 = 0 +-0.123912932193769965476541321 * -0.123912932193769965476541321 = 0 +-0.123912932193769965476541321 * 0 = 0 +-0.123912932193769965476541321 * 0.00 = 0 +-0.123912932193769965476541321 * -0 = 0 +-0.123912932193769965476541321 * -0.00 = 0 +-0.123912932193769965476541321 * 15 = -1 +-0.123912932193769965476541321 * -15 = 1 +-0.123912932193769965476541321 * 1 = 0 +-0.123912932193769965476541321 * -9 = 1 +-0.123912932193769965476541321 * 14.14 = -1 +-0.123912932193769965476541321 * -16.60 = 2 +-0.123912932193769965476541321 * 0.15 = 0 +-0.123912932193769965476541321 * -0.01 = 0 + +Number "15151324141414.412312232141241" (scale 10) +15151324141414.412312232141241 * 15151324141414.412312232141241 = 229562623238207178422472679.9262995876 +15151324141414.412312232141241 * -132132245132134.1515123765412 = -2001978475529791133885654151.5491331991 +15151324141414.412312232141241 * 141241241241241248267654747412 = 2139991828181755439048012256383179795538025.4097677632 +15151324141414.412312232141241 * -149143276547656984948124912 = -2259718126486161223119790826488981524974.8925816946 +15151324141414.412312232141241 * 0.1322135476547459213732911312 = 2003210316403.3967337164 +15151324141414.412312232141241 * -0.123912932193769965476541321 = -1877445000980.9140124713 +15151324141414.412312232141241 * 0 = 0.0000000000 +15151324141414.412312232141241 * 0.00 = 0.0000000000 +15151324141414.412312232141241 * -0 = 0.0000000000 +15151324141414.412312232141241 * -0.00 = 0.0000000000 +15151324141414.412312232141241 * 15 = 227269862121216.1846834821 +15151324141414.412312232141241 * -15 = -227269862121216.1846834821 +15151324141414.412312232141241 * 1 = 15151324141414.4123122321 +15151324141414.412312232141241 * -9 = -136361917272729.7108100892 +15151324141414.412312232141241 * 14.14 = 214239723359599.7900949624 +15151324141414.412312232141241 * -16.60 = -251511980747479.2443830535 +15151324141414.412312232141241 * 0.15 = 2272698621212.1618468348 +15151324141414.412312232141241 * -0.01 = -151513241414.1441231223 + +Number "-132132245132134.1515123765412" (scale 10) +-132132245132134.1515123765412 * 15151324141414.412312232141241 = -2001978475529791133885654151.5491331991 +-132132245132134.1515123765412 * -132132245132134.1515123765412 = 17458930203658389178460349344.0776677900 +-132132245132134.1515123765412 * 141241241241241248267654747412 = -18662522310454584290173879848464266332555498.5267202113 +-132132245132134.1515123765412 * -149143276547656984948124912 = 19706635976604687211527336089051267200810.4158361143 +-132132245132134.1515123765412 * 0.1322135476547459213732911312 = -17469672888505.9884334474 +-132132245132134.1515123765412 * -0.123912932193769965476541321 = 16372893931668.7307088223 +-132132245132134.1515123765412 * 0 = 0.0000000000 +-132132245132134.1515123765412 * 0.00 = 0.0000000000 +-132132245132134.1515123765412 * -0 = 0.0000000000 +-132132245132134.1515123765412 * -0.00 = 0.0000000000 +-132132245132134.1515123765412 * 15 = -1981983676982012.2726856481 +-132132245132134.1515123765412 * -15 = 1981983676982012.2726856481 +-132132245132134.1515123765412 * 1 = -132132245132134.1515123765 +-132132245132134.1515123765412 * -9 = 1189190206189207.3636113888 +-132132245132134.1515123765412 * 14.14 = -1868349946168376.9023850042 +-132132245132134.1515123765412 * -16.60 = 2193395269193426.9151054505 +-132132245132134.1515123765412 * 0.15 = -19819836769820.1227268564 +-132132245132134.1515123765412 * -0.01 = 1321322451321.3415151237 + +Number "141241241241241248267654747412" (scale 10) +141241241241241248267654747412 * 15151324141414.412312232141241 = 2139991828181755439048012256383179795538025.4097677632 +141241241241241248267654747412 * -132132245132134.1515123765412 = -18662522310454584290173879848464266332555498.5267202113 +141241241241241248267654747412 * 141241241241241248267654747412 = 19949088227366507629622653233761071253230364164181520697744.0000000000 +141241241241241248267654747412 * -149143276547656984948124912 = -21065181502376778401476291731259854717478035244384727744.0000000000 +141241241241241248267654747412 * 0.1322135476547459213732911312 = 18674005579664314748578026521.9598901262 +141241241241241248267654747412 * -0.123912932193769965476541321 = -17501616348889832831364181429.7008871512 +141241241241241248267654747412 * 0 = 0.0000000000 +141241241241241248267654747412 * 0.00 = 0.0000000000 +141241241241241248267654747412 * -0 = 0.0000000000 +141241241241241248267654747412 * -0.00 = 0.0000000000 +141241241241241248267654747412 * 15 = 2118618618618618724014821211180.0000000000 +141241241241241248267654747412 * -15 = -2118618618618618724014821211180.0000000000 +141241241241241248267654747412 * 1 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 * -9 = -1271171171171171234408892726708.0000000000 +141241241241241248267654747412 * 14.14 = 1997151151151151250504638128405.6800000000 +141241241241241248267654747412 * -16.60 = -2344604604604604721243068807039.2000000000 +141241241241241248267654747412 * 0.15 = 21186186186186187240148212111.8000000000 +141241241241241248267654747412 * -0.01 = -1412412412412412482676547474.1200000000 + +Number "-149143276547656984948124912" (scale 10) +-149143276547656984948124912 * 15151324141414.412312232141241 = -2259718126486161223119790826488981524974.8925816946 +-149143276547656984948124912 * -132132245132134.1515123765412 = 19706635976604687211527336089051267200810.4158361143 +-149143276547656984948124912 * 141241241241241248267654747412 = -21065181502376778401476291731259854717478035244384727744.0000000000 +-149143276547656984948124912 * -149143276547656984948124912 = 22243716939370890018820252028254140421311664755007744.0000000000 +-149143276547656984948124912 * 0.1322135476547459213732911312 = -19718761701218596539144441.0298753533 +-149143276547656984948124912 * -0.123912932193769965476541321 = 18480780714006502282899774.5778544540 +-149143276547656984948124912 * 0 = 0.0000000000 +-149143276547656984948124912 * 0.00 = 0.0000000000 +-149143276547656984948124912 * -0 = 0.0000000000 +-149143276547656984948124912 * -0.00 = 0.0000000000 +-149143276547656984948124912 * 15 = -2237149148214854774221873680.0000000000 +-149143276547656984948124912 * -15 = 2237149148214854774221873680.0000000000 +-149143276547656984948124912 * 1 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 * -9 = 1342289488928912864533124208.0000000000 +-149143276547656984948124912 * 14.14 = -2108885930383869767166486255.6800000000 +-149143276547656984948124912 * -16.60 = 2475778390691105950138873539.2000000000 +-149143276547656984948124912 * 0.15 = -22371491482148547742218736.8000000000 +-149143276547656984948124912 * -0.01 = 1491432765476569849481249.1200000000 + +Number "0.1322135476547459213732911312" (scale 10) +0.1322135476547459213732911312 * 15151324141414.412312232141241 = 2003210316403.3967337164 +0.1322135476547459213732911312 * -132132245132134.1515123765412 = -17469672888505.9884334474 +0.1322135476547459213732911312 * 141241241241241248267654747412 = 18674005579664314748578026521.9598901262 +0.1322135476547459213732911312 * -149143276547656984948124912 = -19718761701218596539144441.0298753533 +0.1322135476547459213732911312 * 0.1322135476547459213732911312 = 0.0174804221 +0.1322135476547459213732911312 * -0.123912932193769965476541321 = -0.0163829683 +0.1322135476547459213732911312 * 0 = 0.0000000000 +0.1322135476547459213732911312 * 0.00 = 0.0000000000 +0.1322135476547459213732911312 * -0 = 0.0000000000 +0.1322135476547459213732911312 * -0.00 = 0.0000000000 +0.1322135476547459213732911312 * 15 = 1.9832032148 +0.1322135476547459213732911312 * -15 = -1.9832032148 +0.1322135476547459213732911312 * 1 = 0.1322135476 +0.1322135476547459213732911312 * -9 = -1.1899219288 +0.1322135476547459213732911312 * 14.14 = 1.8694995638 +0.1322135476547459213732911312 * -16.60 = -2.1947448910 +0.1322135476547459213732911312 * 0.15 = 0.0198320321 +0.1322135476547459213732911312 * -0.01 = -0.0013221354 + +Number "-0.123912932193769965476541321" (scale 10) +-0.123912932193769965476541321 * 15151324141414.412312232141241 = -1877445000980.9140124713 +-0.123912932193769965476541321 * -132132245132134.1515123765412 = 16372893931668.7307088223 +-0.123912932193769965476541321 * 141241241241241248267654747412 = -17501616348889832831364181429.7008871512 +-0.123912932193769965476541321 * -149143276547656984948124912 = 18480780714006502282899774.5778544540 +-0.123912932193769965476541321 * 0.1322135476547459213732911312 = -0.0163829683 +-0.123912932193769965476541321 * -0.123912932193769965476541321 = 0.0153544147 +-0.123912932193769965476541321 * 0 = 0.0000000000 +-0.123912932193769965476541321 * 0.00 = 0.0000000000 +-0.123912932193769965476541321 * -0 = 0.0000000000 +-0.123912932193769965476541321 * -0.00 = 0.0000000000 +-0.123912932193769965476541321 * 15 = -1.8586939829 +-0.123912932193769965476541321 * -15 = 1.8586939829 +-0.123912932193769965476541321 * 1 = -0.1239129321 +-0.123912932193769965476541321 * -9 = 1.1152163897 +-0.123912932193769965476541321 * 14.14 = -1.7521288612 +-0.123912932193769965476541321 * -16.60 = 2.0569546744 +-0.123912932193769965476541321 * 0.15 = -0.0185869398 +-0.123912932193769965476541321 * -0.01 = 0.0012391293 diff --git a/ext/bcmath/tests/bcmul_zero.phpt b/ext/bcmath/tests/bcmul_zero.phpt new file mode 100644 index 0000000000000..949f726a15e48 --- /dev/null +++ b/ext/bcmath/tests/bcmul_zero.phpt @@ -0,0 +1,191 @@ +--TEST-- +bcmul() function with number zero +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "0" (scale 0) +0 * 0 = 0 +0 * 0.00 = 0 +0 * -0 = 0 +0 * -0.00 = 0 +0 * 15 = 0 +0 * -15 = 0 +0 * 1 = 0 +0 * -9 = 0 +0 * 14.14 = 0 +0 * -16.60 = 0 +0 * 0.15 = 0 +0 * -0.01 = 0 +0 * 15151324141414.412312232141241 = 0 +0 * -132132245132134.1515123765412 = 0 +0 * 141241241241241248267654747412 = 0 +0 * -149143276547656984948124912 = 0 +0 * 0.1322135476547459213732911312 = 0 +0 * -0.123912932193769965476541321 = 0 + +Number "0.00" (scale 0) +0.00 * 0 = 0 +0.00 * 0.00 = 0 +0.00 * -0 = 0 +0.00 * -0.00 = 0 +0.00 * 15 = 0 +0.00 * -15 = 0 +0.00 * 1 = 0 +0.00 * -9 = 0 +0.00 * 14.14 = 0 +0.00 * -16.60 = 0 +0.00 * 0.15 = 0 +0.00 * -0.01 = 0 +0.00 * 15151324141414.412312232141241 = 0 +0.00 * -132132245132134.1515123765412 = 0 +0.00 * 141241241241241248267654747412 = 0 +0.00 * -149143276547656984948124912 = 0 +0.00 * 0.1322135476547459213732911312 = 0 +0.00 * -0.123912932193769965476541321 = 0 + +Number "-0" (scale 0) +-0 * 0 = 0 +-0 * 0.00 = 0 +-0 * -0 = 0 +-0 * -0.00 = 0 +-0 * 15 = 0 +-0 * -15 = 0 +-0 * 1 = 0 +-0 * -9 = 0 +-0 * 14.14 = 0 +-0 * -16.60 = 0 +-0 * 0.15 = 0 +-0 * -0.01 = 0 +-0 * 15151324141414.412312232141241 = 0 +-0 * -132132245132134.1515123765412 = 0 +-0 * 141241241241241248267654747412 = 0 +-0 * -149143276547656984948124912 = 0 +-0 * 0.1322135476547459213732911312 = 0 +-0 * -0.123912932193769965476541321 = 0 + +Number "-0.00" (scale 0) +-0.00 * 0 = 0 +-0.00 * 0.00 = 0 +-0.00 * -0 = 0 +-0.00 * -0.00 = 0 +-0.00 * 15 = 0 +-0.00 * -15 = 0 +-0.00 * 1 = 0 +-0.00 * -9 = 0 +-0.00 * 14.14 = 0 +-0.00 * -16.60 = 0 +-0.00 * 0.15 = 0 +-0.00 * -0.01 = 0 +-0.00 * 15151324141414.412312232141241 = 0 +-0.00 * -132132245132134.1515123765412 = 0 +-0.00 * 141241241241241248267654747412 = 0 +-0.00 * -149143276547656984948124912 = 0 +-0.00 * 0.1322135476547459213732911312 = 0 +-0.00 * -0.123912932193769965476541321 = 0 + +Number "0" (scale 10) +0 * 0 = 0.0000000000 +0 * 0.00 = 0.0000000000 +0 * -0 = 0.0000000000 +0 * -0.00 = 0.0000000000 +0 * 15 = 0.0000000000 +0 * -15 = 0.0000000000 +0 * 1 = 0.0000000000 +0 * -9 = 0.0000000000 +0 * 14.14 = 0.0000000000 +0 * -16.60 = 0.0000000000 +0 * 0.15 = 0.0000000000 +0 * -0.01 = 0.0000000000 +0 * 15151324141414.412312232141241 = 0.0000000000 +0 * -132132245132134.1515123765412 = 0.0000000000 +0 * 141241241241241248267654747412 = 0.0000000000 +0 * -149143276547656984948124912 = 0.0000000000 +0 * 0.1322135476547459213732911312 = 0.0000000000 +0 * -0.123912932193769965476541321 = 0.0000000000 + +Number "0.00" (scale 10) +0.00 * 0 = 0.0000000000 +0.00 * 0.00 = 0.0000000000 +0.00 * -0 = 0.0000000000 +0.00 * -0.00 = 0.0000000000 +0.00 * 15 = 0.0000000000 +0.00 * -15 = 0.0000000000 +0.00 * 1 = 0.0000000000 +0.00 * -9 = 0.0000000000 +0.00 * 14.14 = 0.0000000000 +0.00 * -16.60 = 0.0000000000 +0.00 * 0.15 = 0.0000000000 +0.00 * -0.01 = 0.0000000000 +0.00 * 15151324141414.412312232141241 = 0.0000000000 +0.00 * -132132245132134.1515123765412 = 0.0000000000 +0.00 * 141241241241241248267654747412 = 0.0000000000 +0.00 * -149143276547656984948124912 = 0.0000000000 +0.00 * 0.1322135476547459213732911312 = 0.0000000000 +0.00 * -0.123912932193769965476541321 = 0.0000000000 + +Number "-0" (scale 10) +-0 * 0 = 0.0000000000 +-0 * 0.00 = 0.0000000000 +-0 * -0 = 0.0000000000 +-0 * -0.00 = 0.0000000000 +-0 * 15 = 0.0000000000 +-0 * -15 = 0.0000000000 +-0 * 1 = 0.0000000000 +-0 * -9 = 0.0000000000 +-0 * 14.14 = 0.0000000000 +-0 * -16.60 = 0.0000000000 +-0 * 0.15 = 0.0000000000 +-0 * -0.01 = 0.0000000000 +-0 * 15151324141414.412312232141241 = 0.0000000000 +-0 * -132132245132134.1515123765412 = 0.0000000000 +-0 * 141241241241241248267654747412 = 0.0000000000 +-0 * -149143276547656984948124912 = 0.0000000000 +-0 * 0.1322135476547459213732911312 = 0.0000000000 +-0 * -0.123912932193769965476541321 = 0.0000000000 + +Number "-0.00" (scale 10) +-0.00 * 0 = 0.0000000000 +-0.00 * 0.00 = 0.0000000000 +-0.00 * -0 = 0.0000000000 +-0.00 * -0.00 = 0.0000000000 +-0.00 * 15 = 0.0000000000 +-0.00 * -15 = 0.0000000000 +-0.00 * 1 = 0.0000000000 +-0.00 * -9 = 0.0000000000 +-0.00 * 14.14 = 0.0000000000 +-0.00 * -16.60 = 0.0000000000 +-0.00 * 0.15 = 0.0000000000 +-0.00 * -0.01 = 0.0000000000 +-0.00 * 15151324141414.412312232141241 = 0.0000000000 +-0.00 * -132132245132134.1515123765412 = 0.0000000000 +-0.00 * 141241241241241248267654747412 = 0.0000000000 +-0.00 * -149143276547656984948124912 = 0.0000000000 +-0.00 * 0.1322135476547459213732911312 = 0.0000000000 +-0.00 * -0.123912932193769965476541321 = 0.0000000000 diff --git a/ext/bcmath/tests/bcpow.phpt b/ext/bcmath/tests/bcpow.phpt index 1850e342799bd..1d78e7ff72313 100644 --- a/ext/bcmath/tests/bcpow.phpt +++ b/ext/bcmath/tests/bcpow.phpt @@ -6,13 +6,312 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- -1 --32.0000 -18446744073709551616 --108.88 +Number "15" (scale 0) +15 ** 15 = 437893890380859375 +15 ** -15 = 0 +15 ** 1 = 15 +15 ** -9 = 0 +15 ** 0 = 1 +15 ** -0 = 1 + +Number "-15" (scale 0) +-15 ** 15 = -437893890380859375 +-15 ** -15 = 0 +-15 ** 1 = -15 +-15 ** -9 = 0 +-15 ** 0 = 1 +-15 ** -0 = 1 + +Number "1" (scale 0) +1 ** 15 = 1 +1 ** -15 = 1 +1 ** 1 = 1 +1 ** -9 = 1 +1 ** 0 = 1 +1 ** -0 = 1 + +Number "-9" (scale 0) +-9 ** 15 = -205891132094649 +-9 ** -15 = 0 +-9 ** 1 = -9 +-9 ** -9 = 0 +-9 ** 0 = 1 +-9 ** -0 = 1 + +Number "0" (scale 0) +0 ** 15 = 0 +0 ** -15 = 0 +0 ** 1 = 0 +0 ** -9 = 0 +0 ** 0 = 1 +0 ** -0 = 1 + +Number "-0" (scale 0) +-0 ** 15 = 0 +-0 ** -15 = 0 +-0 ** 1 = 0 +-0 ** -9 = 0 +-0 ** 0 = 1 +-0 ** -0 = 1 + +Number "0.00" (scale 0) +0.00 ** 15 = 0 +0.00 ** -15 = 0 +0.00 ** 1 = 0 +0.00 ** -9 = 0 +0.00 ** 0 = 1 +0.00 ** -0 = 1 + +Number "-0.00" (scale 0) +-0.00 ** 15 = 0 +-0.00 ** -15 = 0 +-0.00 ** 1 = 0 +-0.00 ** -9 = 0 +-0.00 ** 0 = 1 +-0.00 ** -0 = 1 + +Number "14.14" (scale 0) +14.14 ** 15 = 180609729388653367 +14.14 ** -15 = 0 +14.14 ** 1 = 14 +14.14 ** -9 = 0 +14.14 ** 0 = 1 +14.14 ** -0 = 1 + +Number "-16.60" (scale 0) +-16.60 ** 15 = -2002725006700243463 +-16.60 ** -15 = 0 +-16.60 ** 1 = -16 +-16.60 ** -9 = 0 +-16.60 ** 0 = 1 +-16.60 ** -0 = 1 + +Number "0.15" (scale 0) +0.15 ** 15 = 0 +0.15 ** -15 = 2283658260521 +0.15 ** 1 = 0 +0.15 ** -9 = 26012294 +0.15 ** 0 = 1 +0.15 ** -0 = 1 + +Number "-0.01" (scale 0) +-0.01 ** 15 = 0 +-0.01 ** -15 = -1000000000000000000000000000000 +-0.01 ** 1 = 0 +-0.01 ** -9 = -1000000000000000000 +-0.01 ** 0 = 1 +-0.01 ** -0 = 1 + +Number "15151324141414.412312232141241" (scale 0) +15151324141414.412312232141241 ** 15 = 509048123991351801905481953476379185972789524506389464560948346272971876778908444213802402540123245924548973078757287880001162665191012187707496396738218203170247236816923480505943223846447785782345 +15151324141414.412312232141241 ** -15 = 0 +15151324141414.412312232141241 ** 1 = 15151324141414 +15151324141414.412312232141241 ** -9 = 0 +15151324141414.412312232141241 ** 0 = 1 +15151324141414.412312232141241 ** -0 = 1 + +Number "141241241241241248267654747412" (scale 0) +141241241241241248267654747412 ** 15 = 177591789298838947421924937418435926483207726032941337126565686201154837989992676792469043927153886362407093561688979426718344848540943458245870720268722797084708626211824507010348223033844880992203548347580375252630658556528592298319547225224912135982081686378909626742998484437641863458021277126578238452879997277005795795020835662533892290564198652316605246272512413311084386660488961246461538425989780621930750572963428718487554490368 +141241241241241248267654747412 ** -15 = 0 +141241241241241248267654747412 ** 1 = 141241241241241248267654747412 +141241241241241248267654747412 ** -9 = 0 +141241241241241248267654747412 ** 0 = 1 +141241241241241248267654747412 ** -0 = 1 + +Number "-149143276547656984948124912" (scale 0) +-149143276547656984948124912 ** 15 = -401841881822660241398409660309345646463535278187389488718526585893873800090729191609465595568674086078015487989884600849819723618141030735892646637579078630759905628572464757376301450900008605507116286859140901254928168279833198528761329808672095261265618307499605901098109261736293336298350347017449323858811047847238969925531775390894165290898723086447624518554747816961256145036283496890368 +-149143276547656984948124912 ** -15 = 0 +-149143276547656984948124912 ** 1 = -149143276547656984948124912 +-149143276547656984948124912 ** -9 = 0 +-149143276547656984948124912 ** 0 = 1 +-149143276547656984948124912 ** -0 = 1 + +Number "-132132245132134.1515123765412" (scale 0) +-132132245132134.1515123765412 ** 15 = -65332942084431118671715132691017936828728297532817376297090067844431557352758338594306899592493441083845683845573112529065975725871957965764869599362286162979915656223771056616561461958797695558519631556073805440 +-132132245132134.1515123765412 ** -15 = 0 +-132132245132134.1515123765412 ** 1 = -132132245132134 +-132132245132134.1515123765412 ** -9 = 0 +-132132245132134.1515123765412 ** 0 = 1 +-132132245132134.1515123765412 ** -0 = 1 + +Number "0.1322135476547459213732911312" (scale 0) +0.1322135476547459213732911312 ** 15 = 0 +0.1322135476547459213732911312 ** -15 = 15165635699683 +0.1322135476547459213732911312 ** 1 = 0 +0.1322135476547459213732911312 ** -9 = 81005847 +0.1322135476547459213732911312 ** 0 = 1 +0.1322135476547459213732911312 ** -0 = 1 + +Number "-0.123912932193769965476541321" (scale 0) +-0.123912932193769965476541321 ** 15 = 0 +-0.123912932193769965476541321 ** -15 = -40109799462729 +-0.123912932193769965476541321 ** 1 = 0 +-0.123912932193769965476541321 ** -9 = -145194543 +-0.123912932193769965476541321 ** 0 = 1 +-0.123912932193769965476541321 ** -0 = 1 + +Number "15" (scale 10) +15 ** 15 = 437893890380859375.0000000000 +15 ** -15 = 0.0000000000 +15 ** 1 = 15.0000000000 +15 ** -9 = 0.0000000000 +15 ** 0 = 1.0000000000 +15 ** -0 = 1.0000000000 + +Number "-15" (scale 10) +-15 ** 15 = -437893890380859375.0000000000 +-15 ** -15 = 0.0000000000 +-15 ** 1 = -15.0000000000 +-15 ** -9 = 0.0000000000 +-15 ** 0 = 1.0000000000 +-15 ** -0 = 1.0000000000 + +Number "1" (scale 10) +1 ** 15 = 1.0000000000 +1 ** -15 = 1.0000000000 +1 ** 1 = 1.0000000000 +1 ** -9 = 1.0000000000 +1 ** 0 = 1.0000000000 +1 ** -0 = 1.0000000000 + +Number "-9" (scale 10) +-9 ** 15 = -205891132094649.0000000000 +-9 ** -15 = 0.0000000000 +-9 ** 1 = -9.0000000000 +-9 ** -9 = -0.0000000025 +-9 ** 0 = 1.0000000000 +-9 ** -0 = 1.0000000000 + +Number "0" (scale 10) +0 ** 15 = 0.0000000000 +0 ** -15 = 0.0000000000 +0 ** 1 = 0.0000000000 +0 ** -9 = 0.0000000000 +0 ** 0 = 1.0000000000 +0 ** -0 = 1.0000000000 + +Number "-0" (scale 10) +-0 ** 15 = 0.0000000000 +-0 ** -15 = 0.0000000000 +-0 ** 1 = 0.0000000000 +-0 ** -9 = 0.0000000000 +-0 ** 0 = 1.0000000000 +-0 ** -0 = 1.0000000000 + +Number "0.00" (scale 10) +0.00 ** 15 = 0.0000000000 +0.00 ** -15 = 0.0000000000 +0.00 ** 1 = 0.0000000000 +0.00 ** -9 = 0.0000000000 +0.00 ** 0 = 1.0000000000 +0.00 ** -0 = 1.0000000000 + +Number "-0.00" (scale 10) +-0.00 ** 15 = 0.0000000000 +-0.00 ** -15 = 0.0000000000 +-0.00 ** 1 = 0.0000000000 +-0.00 ** -9 = 0.0000000000 +-0.00 ** 0 = 1.0000000000 +-0.00 ** -0 = 1.0000000000 + +Number "14.14" (scale 10) +14.14 ** 15 = 180609729388653367.2586094856 +14.14 ** -15 = 0.0000000000 +14.14 ** 1 = 14.1400000000 +14.14 ** -9 = 0.0000000000 +14.14 ** 0 = 1.0000000000 +14.14 ** -0 = 1.0000000000 + +Number "-16.60" (scale 10) +-16.60 ** 15 = -2002725006700243463.1471178615 +-16.60 ** -15 = 0.0000000000 +-16.60 ** 1 = -16.6000000000 +-16.60 ** -9 = 0.0000000000 +-16.60 ** 0 = 1.0000000000 +-16.60 ** -0 = 1.0000000000 + +Number "0.15" (scale 10) +0.15 ** 15 = 0.0000000000 +0.15 ** -15 = 2283658260521.1672220051 +0.15 ** 1 = 0.1500000000 +0.15 ** -9 = 26012294.8737489203 +0.15 ** 0 = 1.0000000000 +0.15 ** -0 = 1.0000000000 + +Number "-0.01" (scale 10) +-0.01 ** 15 = 0.0000000000 +-0.01 ** -15 = -1000000000000000000000000000000.0000000000 +-0.01 ** 1 = -0.0100000000 +-0.01 ** -9 = -1000000000000000000.0000000000 +-0.01 ** 0 = 1.0000000000 +-0.01 ** -0 = 1.0000000000 + +Number "15151324141414.412312232141241" (scale 10) +15151324141414.412312232141241 ** 15 = 509048123991351801905481953476379185972789524506389464560948346272971876778908444213802402540123245924548973078757287880001162665191012187707496396738218203170247236816923480505943223846447785782345.3558894965 +15151324141414.412312232141241 ** -15 = 0.0000000000 +15151324141414.412312232141241 ** 1 = 15151324141414.4123122321 +15151324141414.412312232141241 ** -9 = 0.0000000000 +15151324141414.412312232141241 ** 0 = 1.0000000000 +15151324141414.412312232141241 ** -0 = 1.0000000000 + +Number "141241241241241248267654747412" (scale 10) +141241241241241248267654747412 ** 15 = 177591789298838947421924937418435926483207726032941337126565686201154837989992676792469043927153886362407093561688979426718344848540943458245870720268722797084708626211824507010348223033844880992203548347580375252630658556528592298319547225224912135982081686378909626742998484437641863458021277126578238452879997277005795795020835662533892290564198652316605246272512413311084386660488961246461538425989780621930750572963428718487554490368.0000000000 +141241241241241248267654747412 ** -15 = 0.0000000000 +141241241241241248267654747412 ** 1 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 ** -9 = 0.0000000000 +141241241241241248267654747412 ** 0 = 1.0000000000 +141241241241241248267654747412 ** -0 = 1.0000000000 + +Number "-149143276547656984948124912" (scale 10) +-149143276547656984948124912 ** 15 = -401841881822660241398409660309345646463535278187389488718526585893873800090729191609465595568674086078015487989884600849819723618141030735892646637579078630759905628572464757376301450900008605507116286859140901254928168279833198528761329808672095261265618307499605901098109261736293336298350347017449323858811047847238969925531775390894165290898723086447624518554747816961256145036283496890368.0000000000 +-149143276547656984948124912 ** -15 = 0.0000000000 +-149143276547656984948124912 ** 1 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 ** -9 = 0.0000000000 +-149143276547656984948124912 ** 0 = 1.0000000000 +-149143276547656984948124912 ** -0 = 1.0000000000 + +Number "-132132245132134.1515123765412" (scale 10) +-132132245132134.1515123765412 ** 15 = -65332942084431118671715132691017936828728297532817376297090067844431557352758338594306899592493441083845683845573112529065975725871957965764869599362286162979915656223771056616561461958797695558519631556073805440.8743426066 +-132132245132134.1515123765412 ** -15 = 0.0000000000 +-132132245132134.1515123765412 ** 1 = -132132245132134.1515123765 +-132132245132134.1515123765412 ** -9 = 0.0000000000 +-132132245132134.1515123765412 ** 0 = 1.0000000000 +-132132245132134.1515123765412 ** -0 = 1.0000000000 + +Number "0.1322135476547459213732911312" (scale 10) +0.1322135476547459213732911312 ** 15 = 0.0000000000 +0.1322135476547459213732911312 ** -15 = 15165635699683.8093525277 +0.1322135476547459213732911312 ** 1 = 0.1322135476 +0.1322135476547459213732911312 ** -9 = 81005847.7955131768 +0.1322135476547459213732911312 ** 0 = 1.0000000000 +0.1322135476547459213732911312 ** -0 = 1.0000000000 + +Number "-0.123912932193769965476541321" (scale 10) +-0.123912932193769965476541321 ** 15 = 0.0000000000 +-0.123912932193769965476541321 ** -15 = -40109799462729.8625078080 +-0.123912932193769965476541321 ** 1 = -0.1239129321 +-0.123912932193769965476541321 ** -9 = -145194543.0878622400 +-0.123912932193769965476541321 ** 0 = 1.0000000000 +-0.123912932193769965476541321 ** -0 = 1.0000000000 diff --git a/ext/bcmath/tests/bcpow_error1.phpt b/ext/bcmath/tests/bcpow_error1.phpt index d2b1a10704e6d..fefdfc57a010f 100644 --- a/ext/bcmath/tests/bcpow_error1.phpt +++ b/ext/bcmath/tests/bcpow_error1.phpt @@ -9,6 +9,12 @@ try { } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } +try { + var_dump(bcpow('1', '0.1', 2)); +} catch (\ValueError $e) { + echo $e->getMessage() . \PHP_EOL; +} ?> --EXPECT-- bcpow(): Argument #2 ($exponent) cannot have a fractional part +bcpow(): Argument #2 ($exponent) cannot have a fractional part diff --git a/ext/bcmath/tests/bcpow_error2.phpt b/ext/bcmath/tests/bcpow_error2.phpt index 733d628b41ae3..f9b830ca7d5bf 100644 --- a/ext/bcmath/tests/bcpow_error2.phpt +++ b/ext/bcmath/tests/bcpow_error2.phpt @@ -9,6 +9,13 @@ try { } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } + +try { + var_dump(bcpow('0', '-9223372036854775808', 2)); +} catch (\ValueError $e) { + echo $e->getMessage() . \PHP_EOL; +} ?> --EXPECT-- bcpow(): Argument #2 ($exponent) is too large +bcpow(): Argument #2 ($exponent) is too large diff --git a/ext/bcmath/tests/bcpow_large_numbers.phpt b/ext/bcmath/tests/bcpow_large_numbers.phpt new file mode 100644 index 0000000000000..bddc71663f342 --- /dev/null +++ b/ext/bcmath/tests/bcpow_large_numbers.phpt @@ -0,0 +1,141 @@ +--TEST-- +bcpow() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "252" (scale 0) +252 ** 252 = 142212010733424647125806541813713973266552845448041013743767421605354690415544328196152173390963803494710443230142152775687771944805429044982729796870857181947776572826160793933424942988750037827638341986183789792079484880609013515717131451507203060282065264043070502125106179548342207047711204933650239424460841202157152719662980652213693426926863084348529493037513389175805577626219903234384208039735661457745854089305800218117427842428649306815115886661640301037762482527923343983853507875264930793965916131347421096416232894153340276842687468868552274843085150094307684610419227652811804917758213226496 +252 ** -112 = 0 + +Number "-112" (scale 0) +-112 ** 252 = 2528958559509291693508169626548016243760525615786379976651267082288161074806837567146354242426675448089179587223689918667106749284121965637887934532709154725528081671334320643858146400820666287506930741579829377389324701928200642059190071982670723834096616484481264403390509754202256821825886418273918096647296731861068941003342202311747852949747419032091731983573265045376333262301085406296848909763397511959941544798830761308589095475080050282796818166220650002245272286955283850226653729461037771414650027776147456 +-112 ** -112 = 0 + +Number "0.00" (scale 0) +0.00 ** 252 = 0 +0.00 ** -112 = 0 + +Number "-0.00" (scale 0) +-0.00 ** 252 = 0 +-0.00 ** -112 = 0 + +Number "14.14" (scale 0) +14.14 ** 252 = 81893830287657387446140079713887806093576884288543703328783802176508922753380870094003376900318176725198165627317176488631295332728458521626072637389422651709754634844150191850264235770478926203337416116264674564206565124289082609409927041547210316199545928823591027686585730497632744792533 +14.14 ** -112 = 0 + +Number "-16.60" (scale 0) +-16.60 ** 252 = 29325011162031531635050775473043742335712717807162139294189975794596377719994688259393390430325862997866008694776131070878139493075620575422701181905723221059535177378476880731856824922247604302185770818227621273103971150596854313288134126369153196254990016237048145067458027194360617116808917107675683822643 +-16.60 ** -112 = 0 + +Number "0.15" (scale 0) +0.15 ** 252 = 0 +0.15 ** -112 = 189574092538418764958341193234367215745086742520818271114560854632390900314942322598922704092 + +Number "-0.01" (scale 0) +-0.01 ** 252 = 0 +-0.01 ** -112 = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +Number "15151324141414.412312232141241" (scale 0) +15151324141414.412312232141241 ** 252 = 2975421749795666718292864311407249970705086081437807395789379168718267809761515926216519710525556923711393180871882349125480337759668727402072958238900666362552341750552695988372017271582392491705356316948514737089205360282499880482512926893561832567935188520485154057479922893292233844872682027689029924296957873832086320362860520134654280058518517337570653996385278714198685752823835453817905306636319703719003676343516921560023010996505106467350842109482615346014981820723775172695392986401597801626150692206539756529644889137926049906575290564959396735953680592250779460130816876807757766338263686270020029393453575181327870591265373834140347848891333472452106266668645850397235968389042220027274496640159090815418483309643657324273121448493101717217140617069517287371864653153681358830190414615833078002577453411141597016583358385430394744450538495805740402488576124870572258200605831119008100984519684993455060646872766261382240383564392178883974453450433114215183488267147681395487265404247208352661495181304031822061114406175030677886104508679211172804603630316447723815907701460914622481206853022006681302191940743481903991732602477879503644713688600025822484351386994709104484371310424352144611218737196401824457866949669228902625541115988570606278592188602331451576075786613348336629409301707863923798082511203519536680273830467529869070112013346223720130183581189201489843066803035998524636580843999168622007134798723860720169157200004627398709928941733609441557160972211113022692009799237864185615460855228045985383589616750868474559577038584404446390706055987175018852877810774653462856565006598191028334508282011970034047209214176244147503985386832987247129380772291221015035166871079932982021644848487302418889155646720341011763574205760582552545432674974794783974025401318074084939141860755094923101801284442989344181743012614781021983935394731085008059924819771193595363859258571474767439534580638568746666210621240873673676940762489862112336626521441471577301366647762037305798100798711822457474507172500970023127288841824797039587587687760406935930088932018738492033507792817250533066953710174207685876451854460620309225706829752706450285622677922594957647037672524232255747269667789144401086986842640538153043741101238245322300993710394384754508967946211337487952324876892016919924636143376046118565299301806000686710931777881411145696867371682466218379864851343043041312758162391699150775018231599537746501756924961427444527995061269251565547747098676254156910141573235165420989417824245466381006116578002121746837672733849938657667872006918460874232266046864354612969306512425002050502769904919642157609172541701550215596501139800180259552618049103708500764672848369198536220300039766241517053637402993685274740246644140211865650547971680391614831119804648079596819224703795536455681460692071824945358084847698465553826334065350185771802401947633785300181386909348829848309501929340612695571623266869616638304357843374880496058625355636022120527400443841025788264209843812042625792300865583082505414465908017500188208987693716855836263772885824776988984333362684311002647195832946927199653846403980218407171091513992332604667414925751436017212580993860794349764631915036822374405575551253454423848395310883501116565831195963321659796880685759075194666868292856205113353111159407896940446955956749209 +15151324141414.412312232141241 ** -112 = 0 + +Number "141241241241241248267654747412" (scale 0) +141241241241241248267654747412 ** 252 = 61702737614252266948752156824258824995959599972302320510716529982037298313739133760034183411877915226877565852198668440669791795617272708708492070599904800132098399232978789534072748261835151242629120913793827710449864804330737116696282852494151262231643262037509694372134135894276508967194766869889867303622326767458055285775054658565704105389065774707528077134226867060689181155582362175947504766959470020293226474023546968232460082444503912720021117368360386834444296061143129153351909427031876573177512880122064185569107842900553293550154759961105705458193916741180207197209621223094253214396769871913256823886396746414009606236401337641975159583111263046921277256870910247139612445619959067659323246784229705879779504519921968053141823090638689328500711053428918278999419825533334808914479125124304786443895285883492931266287931531729858829237461074566895486671242348082833878884776228517928133923449282430038745609287058924814413730985957861336607098992582653851368483642246306509531450226330989261394231526444743678146424987980458014955926233473826334115019067286145968725016152043997048698852555649504111446712360855837865476980303396801134199935075659852802884819197423764473479086847306010829721607657507579637914756242599185804487547475812412827298700399642854781876339506969947557967510353980827513717983184885292080872213577420468280210432294624241752834053309219199045973319521987975932929891565623163042217388611918307622483024452293173783579391106196420370018442330967765451700900306909737464257886906607274005552053888483483054020641145694539605337937744331035605313696665428737416632101002639001569789365490404722602805032116136122275148638414611401101532057194278420768914301864998398142593349158088898737725867540737097890425196584907775942120540985239557579236871185430362654320129291837576497911030976672546705634824923076862019595021475580215199988383732424366096745105419692283398918642003304826916218038854944067948189983518814346644870415937764601253868517196737959263980145504426078052198314663327843039356842201353163719488533902336353096176525901730253653712920740921897375508115858541406566947578335604123685577167716291169069652779908723297589735946583152466623845488142430700731769152222928283344575334939855201356733293357748709762620500872007205341239109409378799478441798933979724812650664098561233648811173269759247319678281986289749980800969619374582248288309266623507972587507556836064440726974305255199923316929818005467224051058298675312384426804897772240949920506431569837490498738453686746046335084609377713999742753257733912005654985684955512755879419270408315204048723476100838206401604215791253443838837275686487522888505399721610616356437415942085415265887671279570399360491649770978544857086906535678225672378863908117400571273280456942553369722415886814734827811782754510807365782422375263311630528352008474205547181623751728827140229718189606400373948548748620058632906237446487461463924934038124060220073591275626363882021308939573471462771350670733259367229333311304626874470724822013347119651171746131956616787517406892676075170382597409056665459502450515715507008118773500106516262784295667877075894103798253576492873141052750983781150748301119099230755964674235471935040610571173788486284126167436426267511157335062848567544617136701036212286420938449059910123857126789600929537328019086612659111870130906758076250376040429753144954758559356615713330390937898173091733151870035205661876454153260289142884914806807421852435737887997788694746400471112311576221296382603532103910277379683106908049352464276556594523117986718023572377990452537890518505167077689962380643979739773271443338742938727262511258728095020188473504370112836853749915575721872419520821790251159556333443030459056638192775423075084514851738672355958336265015380193591541922572518272773045049968850063625505732261611074622474965936400258314638193512375533757871806804692087708082031597721541387274042872955965737015089791668860525425793056778509470752578481376934088995106166553613693981904966686690212955481430046830913629928245843069361759411764297658217897316455217217021684202563946301505904193890271187899540947054172542875489231623713315378660419455411924354406330626224728228155305799300626640774404377831301051311563284401393151464407836422401342988060834178957138740247616789909739231830346449366019203847401064438442628508720077238078363655382024999197911442576806729689998326498342414751123237684542163876848231535744093508827210033685403359485309410368756619655335647815457456271662771356876949346139750604173629577681834134842499790368833444683342223857503185849902689436294823704067138925427306607192910954091698318729347145907800382668086667899534178563329442767437901814888337083677115243233418029978664046416826126543919629091736900005600339085979551469129407326751494940405612077593337217212627875249494414287211237336394051868492049328715249941706898117243520077930496903083255415280985218820687648161267600024140589397356281610905118704267436760893073994318473316685154852928135755455009702456043054322286620596648587752781151951829993681040341917550141278881598811594525627199147969934315163608714206891254146576331437603057409575204473025499304932390635935053481842967808825955521225903532223710955029023291335271704387554010604494359260592752707638749226503894251533287510138743058143563627083333323467953930288323174099691963642626244047994212921019096440748326461891434713107878328347627128553535347757109535162399519267201671099780388509076162219198648438104874056150803718036255353941654576267453857313032960105282442901730781706849116468293203141632905459414497264691251443801343872064950763335362229179456002525747120895247485013820030787875667079177283909056955331506973886798132875485898886780825156590108516771255757929317588856294114876639328139025640209294004084324019087271465180464949662380290646689899281765951368313154956095080011378907737551290670716282657109905603462006701850544998109045986412695185702298097876768249839078776688511467326239283983098509833719622936353377241972069901941714532498768716115868591570677576564417673178096539225866975241748028970361222145947727863536827216898514621847057819434576609230609611433988111992050578257972824282582096472184583048169498234433362074234852397751092471572561447915858864173251918950055149910352613561842701231235991010567523708933526326914146617809092162785366466356881319331412699810698600005749537204138000103625418561709921211393425978474528008482773381566071958815629154952129819071276958851406185526598276525973924382616619638927391896061767984462316342879485215181167142278283860974122393376129042592163052368958562549536015824310093694746026464275365131184771894447337638915074864139725976487382152380756354201968249702096723240570755670245536167613452904133125178947690742699517259032210148920215799181139024035965215646290857562866703810691715946409991609804815076179410873897787742683601227701850554553822077038999133518015046632371381193916753753001215985430108776610861216333105848176092629616183087158890392572221891278673318821093507423533826286478376277706846738214944276585022159559546442701466991751438781940501472267762449963577519763912275982471063234586863118222911568589623962096407513817772511232500343850038909537966015828523715127021508912585417674924982540682182384350779611171081429430780526138025312256 +141241241241241248267654747412 ** -112 = 0 + +Number "-149143276547656984948124912" (scale 0) +-149143276547656984948124912 ** 252 = 55992175588333605542254063511278186461754574279839591709604310477562564689608443402403312222078711893971235561416950804719506082702379684733623971919408777114548100892216614108951324353246556535017960316014312222959702094808816331434094822650280427440063882576116695336500221646817757077369708529723823620336810350659576930581023887896886330503478109619863448515840946841190553234682382107049366084010115954164628751537372573754962628376851714140066914283347218349289869214926741444216767437164014398845666639858144658260377876458100579298055950974326675298651898083944350131609483093051504290661822668587661388602474880915186436725755772988399461893678236514411268113165984474267116617738961793643422894941375678592236663229748980138556108251262049269924802865828570213870281755635578142765872996532114681632125265545602095618091845037482357075517681870091778157619627960547482657474217943178159685376848804852485477702194998676631497601923456769896045663194900447061246337026655179495322126687564510781039271062988745945476519142221837023581656486042843501094480484668735886050383956287988798135101996785626705798462084512791858856000486173266205660052015961534265640905209313211125294627662693933297211009401491531951462889268507817897027972228709128736864008707571464724272762871838758126048184870005667275664845553774616604225572310912906152876060860153081105424979281592600839984125772468965874379832364640972866833334251698542584896314049237205644695553901317638647614318787708386467733615459065054365995897250270550067664267902152593317177099901109073008588486059511534052232495744462484660835773139005865467174339411663680328459135341612957853618227176487790111649236830978394018719354265785673205669861260376582410982507319458447629229410566850388275381698880420276787659514779189425772384786376987076804655929761620083736939837925917040082332479217674557289518688000706235667753826358380348450542285250406537012741099810396394118895119698580737840025778922487867828224721621696636134003638036732306141123387999132026332818408631403997196873195235009010958949928160436198665838441080496516462280678580659979676597569859757823014996017746962217866836145864024569035599176373962484096890443265839324221819146344682358316417403925617439797384999832590030653638024893217809739723987689363496190587792737138664106310356621671611551929705606372447129233289185995118668079125240237102990263869918086723137110005986280396651777574801894806896216800028637569274623115952691705831786855142876372495042729622496416156065929528185678346792948178219730451297126977072400452744745442561264775799188074289500187819445634298783592673376925950468898124384645088176602526214362158710249480242291627057463890117803354864730141461123747252541155347156400786777580958799766203254109472380735138017589461079608897268030232306639370404014163374433657561727131953203599087127600881156801848610207055453714038310061358219048264213893904654160135134848687217172657051056772433684382081263303256605397966956854911368891641655435481304103776752873688058287104569168817065852794438626208265013522214226436602866008965183348172506623891029487173951745639310845051694186685631363145511797791938639666555812388418639006943045236047084104158886785565539716175502784568418794921820159931670582549209945162053950333817714412469166667825536844480057325499652926508866184039633216003293080890783177150560019167662732664450429084752291624787970859408952386737598480289325786960288529818745254001900176106836194717861463240979411026596588950731407070101543407905496821261729510687348937796821412471929466014397692973783859204087752392409288320366943382998932124935828714903875879810782071015247527108459417616171666066601727254393827585882211498062627962114450203721750315845815155021697506333572413625746275557635360793506459802530913864986879539619322648374208957842152789346087113544250046274926635250206832991054325050621508788782189089586427470337274776955856080752508329602238857381659447673739378703749938045217491297442880220072951767019308302182120866450686427636523729778183001298464279351451928526859912935358200922256687852217293342222770676364112675875706669220947500716778555631580892140965700894865432467415441058797916958701058613262784771287521375767679654675090202761215911050514394041232506701642838754586624728822744306994328186360720405674825737265107963504397795466141078520379635918101893732280384966090817776697492519589958581600274196260931284807107964025197355095278741484748256594018281189059520971488155232871826436474292672923671151932746647309516440171397028945399089869838594185867352632608780487775648305026266036688377754295386304268591067685420141876930761382919961712554949830460502589375485003677323126912620975565484588745962938195716999584478642921595627905781087037922126946614604204487324577624535390564298909897280520685096190766392954666547140142042912418332011086985860840135170509805299821832401396881784927340948572834668444512971438394035995512132253672305434131965163273499166432580879149169510915828895700480265882084820049681597304529404116243028731782666223146293276746325246389991906529999778889818267030526761479627741075225237850144113075710406764114186915812713229218993793341952820039777430468508433933966568805816476723519852998663547981299673789287916637548338855826997859936126186385134251146763787920958572343543991163814387927189271315975774832941216796979710625756748626599205479744652593376548351502299670239068557344870045319781398252470403969497344298988472389766532157945149006071078612248352124554889096445319251898085100982701259010029952682041054540095054811702903956018540222632923457127530247486958765495736895235378687056667532898872772226646337210525647648255272837299826798955752834895854767176324936924389475920748073831818096942140696117576092974900312853119224158903042363552736819426608351322112183508012056364946319635528219546604362373666786411115604890681450553292576529326479658711947191604698823116618052429048783309728106697011619648892228467141759801681403110446555051361286503728164299660143689758025052636205563319986489358179027312653555993846959468256374852368137107311301180752627493394581971715347510238354749743466448707369816187860965509171840845607662996123030730513040791692384884335938330381280366200730869537716461479253093292207520004802508144089109220447459994338712030132586927643258314767215456297941961060686384969263988976767300178026850202211882886115891867194452898699949334970606719473728841882215132953439233323551171404920756819606555668846000416712701888993858314625083201880134723672826428864990888175557418214752256 +-149143276547656984948124912 ** -112 = 0 + +Number "-132132245132134.1515123765412" (scale 0) +-132132245132134.1515123765412 ** 252 = 3120478727852745944038201629388077518619819959072778583628662888334880902703519914956089883839049682560676318469032398877418258855834502244373291879606411026505240673439178203360337045239911911401143426214698971271446651876647780290878775496277056268500023561875074401483645577685406485543728816046104697722586058947707076996271324455741296959565524792629154208973708365548001942744414873486576135834495119053638656800810039027025111460331113258212007994067919145384836907081609212431099297641564986044622031456724633662129385296885404614299495960919762385823257644295402159220952463360942737103080118148157378054224237643480822424971993488886224977914497478451840908909543741696948530676782472589176085509233818251158281114742053469197512119057322174380982258491102193374311292374479260658074669161655748423441627187461082149885494689147360706871450098031935056173199096293719222350434764175998710688281702890509097348360359424470253307347729933523000107901985428772530720331531602039527737982138204747133438804098370520558033130528360187686745723186175166911233242211471504301640494824606523094514433764325212802493051981781145617974800929022725476602466144772127930440805434165616744472255347819425748816302231931654549386733679017858450849437143025476899823162000718594064313231515875922351213500222461590573572602190403067267602652736825180691112504152614488461179376450513626420818955027469144025952675277586101528625525962975039500773275778271940118869825449096270757603664530201369396099033029284457100867407697277568670150540402862276543512075434177386868941061854045298572535075420109196042754099960063991947561825511501510308275562634049421237378673160125072162000008236844954128527856723821733254208508907735993281091035579467181540332944219703979021157597903396359158593344664084014589368086779575978259251720029980655644790465254951448194710584230098489732637703819106720935376496517841788507273903175469897103859611331100545364249483088831520541660951382659294376726172983396374439867149870807521191671805902233698315119009713542754446376327365814873898054136563782777104472609469109963308092044568027239290595186247761999234668032081218755268222207063445264559530223287160963458677689875951320832784965806613254975793162543596534222371458668498571166837299325731596777670132830001546839544284346351393964824730839639301046179558652696082308824070477223869283054978658326855126932082754121256920575641227926598676719724725719222484148625020220494108342394030408253089899891700400203336918661663751523788622735773864833731552284954237137952497719069892440806380625733323869952845631051069940707365414990621967523332677411935527536814983008403556834213618522880787952621206983027073172116156651218377851746340174808375254284001435816118302249193303397466776845851743890519082821148416722135170698614740907867435963618925044956902958148324272894672030283819168758463855285701991252475351862754820487744045764868396684777846686070069982217881227849496760269225414231083805733290534151123406915650028121222263850640283860639197520959825152626458400452325975452613482437167476356009654121926543290145079478070360029730020980795208355698196814222112480898983202043419519375263651949181097645574205178523255626929768121920234439313474099206104455976950857197860880977258241730976397804678973733516947554105951667082135434125689463359251547871548911802646544683845207784833032667495833535290224433943754770189766271196987201022608066882057869125850499995301677418321251261832661046278653566452890787168741868239138468494682699662284065061316757322733605 +-132132245132134.1515123765412 ** -112 = 0 + +Number "0.1322135476547459213732911312" (scale 0) +0.1322135476547459213732911312 ** 252 = 0 +0.1322135476547459213732911312 ** -112 = 261271852670585926399109608993686784219014928770917821092988518427507780528448900476275115673665845 + +Number "-0.123912932193769965476541321" (scale 0) +-0.123912932193769965476541321 ** 252 = 0 +-0.123912932193769965476541321 ** -112 = 372337687215014577843846097845819604950292238064034167723169672020440891758727112526694844172394015451 + +Number "252" (scale 10) +252 ** 252 = 142212010733424647125806541813713973266552845448041013743767421605354690415544328196152173390963803494710443230142152775687771944805429044982729796870857181947776572826160793933424942988750037827638341986183789792079484880609013515717131451507203060282065264043070502125106179548342207047711204933650239424460841202157152719662980652213693426926863084348529493037513389175805577626219903234384208039735661457745854089305800218117427842428649306815115886661640301037762482527923343983853507875264930793965916131347421096416232894153340276842687468868552274843085150094307684610419227652811804917758213226496.0000000000 +252 ** -112 = 0.0000000000 + +Number "-112" (scale 10) +-112 ** 252 = 2528958559509291693508169626548016243760525615786379976651267082288161074806837567146354242426675448089179587223689918667106749284121965637887934532709154725528081671334320643858146400820666287506930741579829377389324701928200642059190071982670723834096616484481264403390509754202256821825886418273918096647296731861068941003342202311747852949747419032091731983573265045376333262301085406296848909763397511959941544798830761308589095475080050282796818166220650002245272286955283850226653729461037771414650027776147456.0000000000 +-112 ** -112 = 0.0000000000 + +Number "0.00" (scale 10) +0.00 ** 252 = 0.0000000000 +0.00 ** -112 = 0.0000000000 + +Number "-0.00" (scale 10) +-0.00 ** 252 = 0.0000000000 +-0.00 ** -112 = 0.0000000000 + +Number "14.14" (scale 10) +14.14 ** 252 = 81893830287657387446140079713887806093576884288543703328783802176508922753380870094003376900318176725198165627317176488631295332728458521626072637389422651709754634844150191850264235770478926203337416116264674564206565124289082609409927041547210316199545928823591027686585730497632744792533.0727815413 +14.14 ** -112 = 0.0000000000 + +Number "-16.60" (scale 10) +-16.60 ** 252 = 29325011162031531635050775473043742335712717807162139294189975794596377719994688259393390430325862997866008694776131070878139493075620575422701181905723221059535177378476880731856824922247604302185770818227621273103971150596854313288134126369153196254990016237048145067458027194360617116808917107675683822643.7551838996 +-16.60 ** -112 = 0.0000000000 + +Number "0.15" (scale 10) +0.15 ** 252 = 0.0000000000 +0.15 ** -112 = 189574092538418764958341193234367215745086742520818271114560854632390900314942322598922704092.1046205530 + +Number "-0.01" (scale 10) +-0.01 ** 252 = 0.0000000000 +-0.01 ** -112 = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000000 + +Number "15151324141414.412312232141241" (scale 10) +15151324141414.412312232141241 ** 252 = 2975421749795666718292864311407249970705086081437807395789379168718267809761515926216519710525556923711393180871882349125480337759668727402072958238900666362552341750552695988372017271582392491705356316948514737089205360282499880482512926893561832567935188520485154057479922893292233844872682027689029924296957873832086320362860520134654280058518517337570653996385278714198685752823835453817905306636319703719003676343516921560023010996505106467350842109482615346014981820723775172695392986401597801626150692206539756529644889137926049906575290564959396735953680592250779460130816876807757766338263686270020029393453575181327870591265373834140347848891333472452106266668645850397235968389042220027274496640159090815418483309643657324273121448493101717217140617069517287371864653153681358830190414615833078002577453411141597016583358385430394744450538495805740402488576124870572258200605831119008100984519684993455060646872766261382240383564392178883974453450433114215183488267147681395487265404247208352661495181304031822061114406175030677886104508679211172804603630316447723815907701460914622481206853022006681302191940743481903991732602477879503644713688600025822484351386994709104484371310424352144611218737196401824457866949669228902625541115988570606278592188602331451576075786613348336629409301707863923798082511203519536680273830467529869070112013346223720130183581189201489843066803035998524636580843999168622007134798723860720169157200004627398709928941733609441557160972211113022692009799237864185615460855228045985383589616750868474559577038584404446390706055987175018852877810774653462856565006598191028334508282011970034047209214176244147503985386832987247129380772291221015035166871079932982021644848487302418889155646720341011763574205760582552545432674974794783974025401318074084939141860755094923101801284442989344181743012614781021983935394731085008059924819771193595363859258571474767439534580638568746666210621240873673676940762489862112336626521441471577301366647762037305798100798711822457474507172500970023127288841824797039587587687760406935930088932018738492033507792817250533066953710174207685876451854460620309225706829752706450285622677922594957647037672524232255747269667789144401086986842640538153043741101238245322300993710394384754508967946211337487952324876892016919924636143376046118565299301806000686710931777881411145696867371682466218379864851343043041312758162391699150775018231599537746501756924961427444527995061269251565547747098676254156910141573235165420989417824245466381006116578002121746837672733849938657667872006918460874232266046864354612969306512425002050502769904919642157609172541701550215596501139800180259552618049103708500764672848369198536220300039766241517053637402993685274740246644140211865650547971680391614831119804648079596819224703795536455681460692071824945358084847698465553826334065350185771802401947633785300181386909348829848309501929340612695571623266869616638304357843374880496058625355636022120527400443841025788264209843812042625792300865583082505414465908017500188208987693716855836263772885824776988984333362684311002647195832946927199653846403980218407171091513992332604667414925751436017212580993860794349764631915036822374405575551253454423848395310883501116565831195963321659796880685759075194666868292856205113353111159407896940446955956749209.1357309004 +15151324141414.412312232141241 ** -112 = 0.0000000000 + +Number "141241241241241248267654747412" (scale 10) +141241241241241248267654747412 ** 252 = 61702737614252266948752156824258824995959599972302320510716529982037298313739133760034183411877915226877565852198668440669791795617272708708492070599904800132098399232978789534072748261835151242629120913793827710449864804330737116696282852494151262231643262037509694372134135894276508967194766869889867303622326767458055285775054658565704105389065774707528077134226867060689181155582362175947504766959470020293226474023546968232460082444503912720021117368360386834444296061143129153351909427031876573177512880122064185569107842900553293550154759961105705458193916741180207197209621223094253214396769871913256823886396746414009606236401337641975159583111263046921277256870910247139612445619959067659323246784229705879779504519921968053141823090638689328500711053428918278999419825533334808914479125124304786443895285883492931266287931531729858829237461074566895486671242348082833878884776228517928133923449282430038745609287058924814413730985957861336607098992582653851368483642246306509531450226330989261394231526444743678146424987980458014955926233473826334115019067286145968725016152043997048698852555649504111446712360855837865476980303396801134199935075659852802884819197423764473479086847306010829721607657507579637914756242599185804487547475812412827298700399642854781876339506969947557967510353980827513717983184885292080872213577420468280210432294624241752834053309219199045973319521987975932929891565623163042217388611918307622483024452293173783579391106196420370018442330967765451700900306909737464257886906607274005552053888483483054020641145694539605337937744331035605313696665428737416632101002639001569789365490404722602805032116136122275148638414611401101532057194278420768914301864998398142593349158088898737725867540737097890425196584907775942120540985239557579236871185430362654320129291837576497911030976672546705634824923076862019595021475580215199988383732424366096745105419692283398918642003304826916218038854944067948189983518814346644870415937764601253868517196737959263980145504426078052198314663327843039356842201353163719488533902336353096176525901730253653712920740921897375508115858541406566947578335604123685577167716291169069652779908723297589735946583152466623845488142430700731769152222928283344575334939855201356733293357748709762620500872007205341239109409378799478441798933979724812650664098561233648811173269759247319678281986289749980800969619374582248288309266623507972587507556836064440726974305255199923316929818005467224051058298675312384426804897772240949920506431569837490498738453686746046335084609377713999742753257733912005654985684955512755879419270408315204048723476100838206401604215791253443838837275686487522888505399721610616356437415942085415265887671279570399360491649770978544857086906535678225672378863908117400571273280456942553369722415886814734827811782754510807365782422375263311630528352008474205547181623751728827140229718189606400373948548748620058632906237446487461463924934038124060220073591275626363882021308939573471462771350670733259367229333311304626874470724822013347119651171746131956616787517406892676075170382597409056665459502450515715507008118773500106516262784295667877075894103798253576492873141052750983781150748301119099230755964674235471935040610571173788486284126167436426267511157335062848567544617136701036212286420938449059910123857126789600929537328019086612659111870130906758076250376040429753144954758559356615713330390937898173091733151870035205661876454153260289142884914806807421852435737887997788694746400471112311576221296382603532103910277379683106908049352464276556594523117986718023572377990452537890518505167077689962380643979739773271443338742938727262511258728095020188473504370112836853749915575721872419520821790251159556333443030459056638192775423075084514851738672355958336265015380193591541922572518272773045049968850063625505732261611074622474965936400258314638193512375533757871806804692087708082031597721541387274042872955965737015089791668860525425793056778509470752578481376934088995106166553613693981904966686690212955481430046830913629928245843069361759411764297658217897316455217217021684202563946301505904193890271187899540947054172542875489231623713315378660419455411924354406330626224728228155305799300626640774404377831301051311563284401393151464407836422401342988060834178957138740247616789909739231830346449366019203847401064438442628508720077238078363655382024999197911442576806729689998326498342414751123237684542163876848231535744093508827210033685403359485309410368756619655335647815457456271662771356876949346139750604173629577681834134842499790368833444683342223857503185849902689436294823704067138925427306607192910954091698318729347145907800382668086667899534178563329442767437901814888337083677115243233418029978664046416826126543919629091736900005600339085979551469129407326751494940405612077593337217212627875249494414287211237336394051868492049328715249941706898117243520077930496903083255415280985218820687648161267600024140589397356281610905118704267436760893073994318473316685154852928135755455009702456043054322286620596648587752781151951829993681040341917550141278881598811594525627199147969934315163608714206891254146576331437603057409575204473025499304932390635935053481842967808825955521225903532223710955029023291335271704387554010604494359260592752707638749226503894251533287510138743058143563627083333323467953930288323174099691963642626244047994212921019096440748326461891434713107878328347627128553535347757109535162399519267201671099780388509076162219198648438104874056150803718036255353941654576267453857313032960105282442901730781706849116468293203141632905459414497264691251443801343872064950763335362229179456002525747120895247485013820030787875667079177283909056955331506973886798132875485898886780825156590108516771255757929317588856294114876639328139025640209294004084324019087271465180464949662380290646689899281765951368313154956095080011378907737551290670716282657109905603462006701850544998109045986412695185702298097876768249839078776688511467326239283983098509833719622936353377241972069901941714532498768716115868591570677576564417673178096539225866975241748028970361222145947727863536827216898514621847057819434576609230609611433988111992050578257972824282582096472184583048169498234433362074234852397751092471572561447915858864173251918950055149910352613561842701231235991010567523708933526326914146617809092162785366466356881319331412699810698600005749537204138000103625418561709921211393425978474528008482773381566071958815629154952129819071276958851406185526598276525973924382616619638927391896061767984462316342879485215181167142278283860974122393376129042592163052368958562549536015824310093694746026464275365131184771894447337638915074864139725976487382152380756354201968249702096723240570755670245536167613452904133125178947690742699517259032210148920215799181139024035965215646290857562866703810691715946409991609804815076179410873897787742683601227701850554553822077038999133518015046632371381193916753753001215985430108776610861216333105848176092629616183087158890392572221891278673318821093507423533826286478376277706846738214944276585022159559546442701466991751438781940501472267762449963577519763912275982471063234586863118222911568589623962096407513817772511232500343850038909537966015828523715127021508912585417674924982540682182384350779611171081429430780526138025312256.0000000000 +141241241241241248267654747412 ** -112 = 0.0000000000 + +Number "-149143276547656984948124912" (scale 10) +-149143276547656984948124912 ** 252 = 55992175588333605542254063511278186461754574279839591709604310477562564689608443402403312222078711893971235561416950804719506082702379684733623971919408777114548100892216614108951324353246556535017960316014312222959702094808816331434094822650280427440063882576116695336500221646817757077369708529723823620336810350659576930581023887896886330503478109619863448515840946841190553234682382107049366084010115954164628751537372573754962628376851714140066914283347218349289869214926741444216767437164014398845666639858144658260377876458100579298055950974326675298651898083944350131609483093051504290661822668587661388602474880915186436725755772988399461893678236514411268113165984474267116617738961793643422894941375678592236663229748980138556108251262049269924802865828570213870281755635578142765872996532114681632125265545602095618091845037482357075517681870091778157619627960547482657474217943178159685376848804852485477702194998676631497601923456769896045663194900447061246337026655179495322126687564510781039271062988745945476519142221837023581656486042843501094480484668735886050383956287988798135101996785626705798462084512791858856000486173266205660052015961534265640905209313211125294627662693933297211009401491531951462889268507817897027972228709128736864008707571464724272762871838758126048184870005667275664845553774616604225572310912906152876060860153081105424979281592600839984125772468965874379832364640972866833334251698542584896314049237205644695553901317638647614318787708386467733615459065054365995897250270550067664267902152593317177099901109073008588486059511534052232495744462484660835773139005865467174339411663680328459135341612957853618227176487790111649236830978394018719354265785673205669861260376582410982507319458447629229410566850388275381698880420276787659514779189425772384786376987076804655929761620083736939837925917040082332479217674557289518688000706235667753826358380348450542285250406537012741099810396394118895119698580737840025778922487867828224721621696636134003638036732306141123387999132026332818408631403997196873195235009010958949928160436198665838441080496516462280678580659979676597569859757823014996017746962217866836145864024569035599176373962484096890443265839324221819146344682358316417403925617439797384999832590030653638024893217809739723987689363496190587792737138664106310356621671611551929705606372447129233289185995118668079125240237102990263869918086723137110005986280396651777574801894806896216800028637569274623115952691705831786855142876372495042729622496416156065929528185678346792948178219730451297126977072400452744745442561264775799188074289500187819445634298783592673376925950468898124384645088176602526214362158710249480242291627057463890117803354864730141461123747252541155347156400786777580958799766203254109472380735138017589461079608897268030232306639370404014163374433657561727131953203599087127600881156801848610207055453714038310061358219048264213893904654160135134848687217172657051056772433684382081263303256605397966956854911368891641655435481304103776752873688058287104569168817065852794438626208265013522214226436602866008965183348172506623891029487173951745639310845051694186685631363145511797791938639666555812388418639006943045236047084104158886785565539716175502784568418794921820159931670582549209945162053950333817714412469166667825536844480057325499652926508866184039633216003293080890783177150560019167662732664450429084752291624787970859408952386737598480289325786960288529818745254001900176106836194717861463240979411026596588950731407070101543407905496821261729510687348937796821412471929466014397692973783859204087752392409288320366943382998932124935828714903875879810782071015247527108459417616171666066601727254393827585882211498062627962114450203721750315845815155021697506333572413625746275557635360793506459802530913864986879539619322648374208957842152789346087113544250046274926635250206832991054325050621508788782189089586427470337274776955856080752508329602238857381659447673739378703749938045217491297442880220072951767019308302182120866450686427636523729778183001298464279351451928526859912935358200922256687852217293342222770676364112675875706669220947500716778555631580892140965700894865432467415441058797916958701058613262784771287521375767679654675090202761215911050514394041232506701642838754586624728822744306994328186360720405674825737265107963504397795466141078520379635918101893732280384966090817776697492519589958581600274196260931284807107964025197355095278741484748256594018281189059520971488155232871826436474292672923671151932746647309516440171397028945399089869838594185867352632608780487775648305026266036688377754295386304268591067685420141876930761382919961712554949830460502589375485003677323126912620975565484588745962938195716999584478642921595627905781087037922126946614604204487324577624535390564298909897280520685096190766392954666547140142042912418332011086985860840135170509805299821832401396881784927340948572834668444512971438394035995512132253672305434131965163273499166432580879149169510915828895700480265882084820049681597304529404116243028731782666223146293276746325246389991906529999778889818267030526761479627741075225237850144113075710406764114186915812713229218993793341952820039777430468508433933966568805816476723519852998663547981299673789287916637548338855826997859936126186385134251146763787920958572343543991163814387927189271315975774832941216796979710625756748626599205479744652593376548351502299670239068557344870045319781398252470403969497344298988472389766532157945149006071078612248352124554889096445319251898085100982701259010029952682041054540095054811702903956018540222632923457127530247486958765495736895235378687056667532898872772226646337210525647648255272837299826798955752834895854767176324936924389475920748073831818096942140696117576092974900312853119224158903042363552736819426608351322112183508012056364946319635528219546604362373666786411115604890681450553292576529326479658711947191604698823116618052429048783309728106697011619648892228467141759801681403110446555051361286503728164299660143689758025052636205563319986489358179027312653555993846959468256374852368137107311301180752627493394581971715347510238354749743466448707369816187860965509171840845607662996123030730513040791692384884335938330381280366200730869537716461479253093292207520004802508144089109220447459994338712030132586927643258314767215456297941961060686384969263988976767300178026850202211882886115891867194452898699949334970606719473728841882215132953439233323551171404920756819606555668846000416712701888993858314625083201880134723672826428864990888175557418214752256.0000000000 +-149143276547656984948124912 ** -112 = 0.0000000000 + +Number "-132132245132134.1515123765412" (scale 10) +-132132245132134.1515123765412 ** 252 = 3120478727852745944038201629388077518619819959072778583628662888334880902703519914956089883839049682560676318469032398877418258855834502244373291879606411026505240673439178203360337045239911911401143426214698971271446651876647780290878775496277056268500023561875074401483645577685406485543728816046104697722586058947707076996271324455741296959565524792629154208973708365548001942744414873486576135834495119053638656800810039027025111460331113258212007994067919145384836907081609212431099297641564986044622031456724633662129385296885404614299495960919762385823257644295402159220952463360942737103080118148157378054224237643480822424971993488886224977914497478451840908909543741696948530676782472589176085509233818251158281114742053469197512119057322174380982258491102193374311292374479260658074669161655748423441627187461082149885494689147360706871450098031935056173199096293719222350434764175998710688281702890509097348360359424470253307347729933523000107901985428772530720331531602039527737982138204747133438804098370520558033130528360187686745723186175166911233242211471504301640494824606523094514433764325212802493051981781145617974800929022725476602466144772127930440805434165616744472255347819425748816302231931654549386733679017858450849437143025476899823162000718594064313231515875922351213500222461590573572602190403067267602652736825180691112504152614488461179376450513626420818955027469144025952675277586101528625525962975039500773275778271940118869825449096270757603664530201369396099033029284457100867407697277568670150540402862276543512075434177386868941061854045298572535075420109196042754099960063991947561825511501510308275562634049421237378673160125072162000008236844954128527856723821733254208508907735993281091035579467181540332944219703979021157597903396359158593344664084014589368086779575978259251720029980655644790465254951448194710584230098489732637703819106720935376496517841788507273903175469897103859611331100545364249483088831520541660951382659294376726172983396374439867149870807521191671805902233698315119009713542754446376327365814873898054136563782777104472609469109963308092044568027239290595186247761999234668032081218755268222207063445264559530223287160963458677689875951320832784965806613254975793162543596534222371458668498571166837299325731596777670132830001546839544284346351393964824730839639301046179558652696082308824070477223869283054978658326855126932082754121256920575641227926598676719724725719222484148625020220494108342394030408253089899891700400203336918661663751523788622735773864833731552284954237137952497719069892440806380625733323869952845631051069940707365414990621967523332677411935527536814983008403556834213618522880787952621206983027073172116156651218377851746340174808375254284001435816118302249193303397466776845851743890519082821148416722135170698614740907867435963618925044956902958148324272894672030283819168758463855285701991252475351862754820487744045764868396684777846686070069982217881227849496760269225414231083805733290534151123406915650028121222263850640283860639197520959825152626458400452325975452613482437167476356009654121926543290145079478070360029730020980795208355698196814222112480898983202043419519375263651949181097645574205178523255626929768121920234439313474099206104455976950857197860880977258241730976397804678973733516947554105951667082135434125689463359251547871548911802646544683845207784833032667495833535290224433943754770189766271196987201022608066882057869125850499995301677418321251261832661046278653566452890787168741868239138468494682699662284065061316757322733605.4563495790 +-132132245132134.1515123765412 ** -112 = 0.0000000000 + +Number "0.1322135476547459213732911312" (scale 10) +0.1322135476547459213732911312 ** 252 = 0.0000000000 +0.1322135476547459213732911312 ** -112 = 261271852670585926399109608993686784219014928770917821092988518427507780528448900476275115673665845.0719674616 + +Number "-0.123912932193769965476541321" (scale 10) +-0.123912932193769965476541321 ** 252 = 0.0000000000 +-0.123912932193769965476541321 ** -112 = 372337687215014577843846097845819604950292238064034167723169672020440891758727112526694844172394015451.7302535898 diff --git a/ext/bcmath/tests/bcpow_variation001.phpt b/ext/bcmath/tests/bcpow_variation001.phpt deleted file mode 100644 index 9bcea231fb249..0000000000000 --- a/ext/bcmath/tests/bcpow_variation001.phpt +++ /dev/null @@ -1,12 +0,0 @@ ---TEST-- -bcpow() with a negative exponent ---EXTENSIONS-- -bcmath ---INI-- -bcmath.scale=0 ---FILE-- - ---EXPECT-- -0 diff --git a/ext/bcmath/tests/bcsqrt.phpt b/ext/bcmath/tests/bcsqrt.phpt index 92512dd0d0b81..40b1702ae3783 100644 --- a/ext/bcmath/tests/bcsqrt.phpt +++ b/ext/bcmath/tests/bcsqrt.phpt @@ -6,13 +6,49 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- +0 +0 +0 +0 +3892470 +375820756799356 +0 3 -3.07 -43913234134.28826 -0.70710 +0 +3 +1 +0.0000000000 +0.0000000000 +0.0000000000 +0.0000000000 +3892470.1850385973 +375820756799356.7439216735 +0.3636118090 +3.7603191353 +0.3872983346 +3.8729833462 +1.0000000000 diff --git a/ext/bcmath/tests/bcsqrt_variation001.phpt b/ext/bcmath/tests/bcsqrt_variation001.phpt deleted file mode 100644 index dfa1944ab8d8d..0000000000000 --- a/ext/bcmath/tests/bcsqrt_variation001.phpt +++ /dev/null @@ -1,12 +0,0 @@ ---TEST-- -bcsqrt() with argument of 0 ---EXTENSIONS-- -bcmath ---INI-- -bcmath.scale=0 ---FILE-- - ---EXPECT-- -0 diff --git a/ext/bcmath/tests/bcsub.phpt b/ext/bcmath/tests/bcsub.phpt index 3d0765bef372f..603c2597fcf1f 100644 --- a/ext/bcmath/tests/bcsub.phpt +++ b/ext/bcmath/tests/bcsub.phpt @@ -6,13 +6,342 @@ bcmath bcmath.scale=0 --FILE-- --EXPECT-- --1 --6.0000 --1.00 -8728932000054820705086578390258.00 +Number "15" (scale 0) +15 - 15 = 0 +15 - -15 = 30 +15 - 1 = 14 +15 - -9 = 24 +15 - 14.14 = 0 +15 - -16.60 = 31 +15 - 0.15 = 14 +15 - -0.01 = 15 +15 - 0 = 15 +15 - 0.00 = 15 +15 - -0 = 15 +15 - -0.00 = 15 +15 - 15151324141414.412312232141241 = -15151324141399 +15 - -132132245132134.1515123765412 = 132132245132149 +15 - 141241241241241248267654747412 = -141241241241241248267654747397 +15 - -149143276547656984948124912 = 149143276547656984948124927 +15 - 0.1322135476547459213732911312 = 14 +15 - -0.123912932193769965476541321 = 15 + +Number "-15" (scale 0) +-15 - 15 = -30 +-15 - -15 = 0 +-15 - 1 = -16 +-15 - -9 = -6 +-15 - 14.14 = -29 +-15 - -16.60 = 1 +-15 - 0.15 = -15 +-15 - -0.01 = -14 +-15 - 0 = -15 +-15 - 0.00 = -15 +-15 - -0 = -15 +-15 - -0.00 = -15 +-15 - 15151324141414.412312232141241 = -15151324141429 +-15 - -132132245132134.1515123765412 = 132132245132119 +-15 - 141241241241241248267654747412 = -141241241241241248267654747427 +-15 - -149143276547656984948124912 = 149143276547656984948124897 +-15 - 0.1322135476547459213732911312 = -15 +-15 - -0.123912932193769965476541321 = -14 + +Number "1" (scale 0) +1 - 15 = -14 +1 - -15 = 16 +1 - 1 = 0 +1 - -9 = 10 +1 - 14.14 = -13 +1 - -16.60 = 17 +1 - 0.15 = 0 +1 - -0.01 = 1 +1 - 0 = 1 +1 - 0.00 = 1 +1 - -0 = 1 +1 - -0.00 = 1 +1 - 15151324141414.412312232141241 = -15151324141413 +1 - -132132245132134.1515123765412 = 132132245132135 +1 - 141241241241241248267654747412 = -141241241241241248267654747411 +1 - -149143276547656984948124912 = 149143276547656984948124913 +1 - 0.1322135476547459213732911312 = 0 +1 - -0.123912932193769965476541321 = 1 + +Number "-9" (scale 0) +-9 - 15 = -24 +-9 - -15 = 6 +-9 - 1 = -10 +-9 - -9 = 0 +-9 - 14.14 = -23 +-9 - -16.60 = 7 +-9 - 0.15 = -9 +-9 - -0.01 = -8 +-9 - 0 = -9 +-9 - 0.00 = -9 +-9 - -0 = -9 +-9 - -0.00 = -9 +-9 - 15151324141414.412312232141241 = -15151324141423 +-9 - -132132245132134.1515123765412 = 132132245132125 +-9 - 141241241241241248267654747412 = -141241241241241248267654747421 +-9 - -149143276547656984948124912 = 149143276547656984948124903 +-9 - 0.1322135476547459213732911312 = -9 +-9 - -0.123912932193769965476541321 = -8 + +Number "14.14" (scale 0) +14.14 - 15 = 0 +14.14 - -15 = 29 +14.14 - 1 = 13 +14.14 - -9 = 23 +14.14 - 14.14 = 0 +14.14 - -16.60 = 30 +14.14 - 0.15 = 13 +14.14 - -0.01 = 14 +14.14 - 0 = 14 +14.14 - 0.00 = 14 +14.14 - -0 = 14 +14.14 - -0.00 = 14 +14.14 - 15151324141414.412312232141241 = -15151324141400 +14.14 - -132132245132134.1515123765412 = 132132245132148 +14.14 - 141241241241241248267654747412 = -141241241241241248267654747397 +14.14 - -149143276547656984948124912 = 149143276547656984948124926 +14.14 - 0.1322135476547459213732911312 = 14 +14.14 - -0.123912932193769965476541321 = 14 + +Number "-16.60" (scale 0) +-16.60 - 15 = -31 +-16.60 - -15 = -1 +-16.60 - 1 = -17 +-16.60 - -9 = -7 +-16.60 - 14.14 = -30 +-16.60 - -16.60 = 0 +-16.60 - 0.15 = -16 +-16.60 - -0.01 = -16 +-16.60 - 0 = -16 +-16.60 - 0.00 = -16 +-16.60 - -0 = -16 +-16.60 - -0.00 = -16 +-16.60 - 15151324141414.412312232141241 = -15151324141431 +-16.60 - -132132245132134.1515123765412 = 132132245132117 +-16.60 - 141241241241241248267654747412 = -141241241241241248267654747428 +-16.60 - -149143276547656984948124912 = 149143276547656984948124895 +-16.60 - 0.1322135476547459213732911312 = -16 +-16.60 - -0.123912932193769965476541321 = -16 + +Number "0.15" (scale 0) +0.15 - 15 = -14 +0.15 - -15 = 15 +0.15 - 1 = 0 +0.15 - -9 = 9 +0.15 - 14.14 = -13 +0.15 - -16.60 = 16 +0.15 - 0.15 = 0 +0.15 - -0.01 = 0 +0.15 - 0 = 0 +0.15 - 0.00 = 0 +0.15 - -0 = 0 +0.15 - -0.00 = 0 +0.15 - 15151324141414.412312232141241 = -15151324141414 +0.15 - -132132245132134.1515123765412 = 132132245132134 +0.15 - 141241241241241248267654747412 = -141241241241241248267654747411 +0.15 - -149143276547656984948124912 = 149143276547656984948124912 +0.15 - 0.1322135476547459213732911312 = 0 +0.15 - -0.123912932193769965476541321 = 0 + +Number "-0.01" (scale 0) +-0.01 - 15 = -15 +-0.01 - -15 = 14 +-0.01 - 1 = -1 +-0.01 - -9 = 8 +-0.01 - 14.14 = -14 +-0.01 - -16.60 = 16 +-0.01 - 0.15 = 0 +-0.01 - -0.01 = 0 +-0.01 - 0 = 0 +-0.01 - 0.00 = 0 +-0.01 - -0 = 0 +-0.01 - -0.00 = 0 +-0.01 - 15151324141414.412312232141241 = -15151324141414 +-0.01 - -132132245132134.1515123765412 = 132132245132134 +-0.01 - 141241241241241248267654747412 = -141241241241241248267654747412 +-0.01 - -149143276547656984948124912 = 149143276547656984948124911 +-0.01 - 0.1322135476547459213732911312 = 0 +-0.01 - -0.123912932193769965476541321 = 0 + +Number "15" (scale 10) +15 - 15 = 0.0000000000 +15 - -15 = 30.0000000000 +15 - 1 = 14.0000000000 +15 - -9 = 24.0000000000 +15 - 14.14 = 0.8600000000 +15 - -16.60 = 31.6000000000 +15 - 0.15 = 14.8500000000 +15 - -0.01 = 15.0100000000 +15 - 0 = 15.0000000000 +15 - 0.00 = 15.0000000000 +15 - -0 = 15.0000000000 +15 - -0.00 = 15.0000000000 +15 - 15151324141414.412312232141241 = -15151324141399.4123122321 +15 - -132132245132134.1515123765412 = 132132245132149.1515123765 +15 - 141241241241241248267654747412 = -141241241241241248267654747397.0000000000 +15 - -149143276547656984948124912 = 149143276547656984948124927.0000000000 +15 - 0.1322135476547459213732911312 = 14.8677864523 +15 - -0.123912932193769965476541321 = 15.1239129321 + +Number "-15" (scale 10) +-15 - 15 = -30.0000000000 +-15 - -15 = 0.0000000000 +-15 - 1 = -16.0000000000 +-15 - -9 = -6.0000000000 +-15 - 14.14 = -29.1400000000 +-15 - -16.60 = 1.6000000000 +-15 - 0.15 = -15.1500000000 +-15 - -0.01 = -14.9900000000 +-15 - 0 = -15.0000000000 +-15 - 0.00 = -15.0000000000 +-15 - -0 = -15.0000000000 +-15 - -0.00 = -15.0000000000 +-15 - 15151324141414.412312232141241 = -15151324141429.4123122321 +-15 - -132132245132134.1515123765412 = 132132245132119.1515123765 +-15 - 141241241241241248267654747412 = -141241241241241248267654747427.0000000000 +-15 - -149143276547656984948124912 = 149143276547656984948124897.0000000000 +-15 - 0.1322135476547459213732911312 = -15.1322135476 +-15 - -0.123912932193769965476541321 = -14.8760870678 + +Number "1" (scale 10) +1 - 15 = -14.0000000000 +1 - -15 = 16.0000000000 +1 - 1 = 0.0000000000 +1 - -9 = 10.0000000000 +1 - 14.14 = -13.1400000000 +1 - -16.60 = 17.6000000000 +1 - 0.15 = 0.8500000000 +1 - -0.01 = 1.0100000000 +1 - 0 = 1.0000000000 +1 - 0.00 = 1.0000000000 +1 - -0 = 1.0000000000 +1 - -0.00 = 1.0000000000 +1 - 15151324141414.412312232141241 = -15151324141413.4123122321 +1 - -132132245132134.1515123765412 = 132132245132135.1515123765 +1 - 141241241241241248267654747412 = -141241241241241248267654747411.0000000000 +1 - -149143276547656984948124912 = 149143276547656984948124913.0000000000 +1 - 0.1322135476547459213732911312 = 0.8677864523 +1 - -0.123912932193769965476541321 = 1.1239129321 + +Number "-9" (scale 10) +-9 - 15 = -24.0000000000 +-9 - -15 = 6.0000000000 +-9 - 1 = -10.0000000000 +-9 - -9 = 0.0000000000 +-9 - 14.14 = -23.1400000000 +-9 - -16.60 = 7.6000000000 +-9 - 0.15 = -9.1500000000 +-9 - -0.01 = -8.9900000000 +-9 - 0 = -9.0000000000 +-9 - 0.00 = -9.0000000000 +-9 - -0 = -9.0000000000 +-9 - -0.00 = -9.0000000000 +-9 - 15151324141414.412312232141241 = -15151324141423.4123122321 +-9 - -132132245132134.1515123765412 = 132132245132125.1515123765 +-9 - 141241241241241248267654747412 = -141241241241241248267654747421.0000000000 +-9 - -149143276547656984948124912 = 149143276547656984948124903.0000000000 +-9 - 0.1322135476547459213732911312 = -9.1322135476 +-9 - -0.123912932193769965476541321 = -8.8760870678 + +Number "14.14" (scale 10) +14.14 - 15 = -0.8600000000 +14.14 - -15 = 29.1400000000 +14.14 - 1 = 13.1400000000 +14.14 - -9 = 23.1400000000 +14.14 - 14.14 = 0.0000000000 +14.14 - -16.60 = 30.7400000000 +14.14 - 0.15 = 13.9900000000 +14.14 - -0.01 = 14.1500000000 +14.14 - 0 = 14.1400000000 +14.14 - 0.00 = 14.1400000000 +14.14 - -0 = 14.1400000000 +14.14 - -0.00 = 14.1400000000 +14.14 - 15151324141414.412312232141241 = -15151324141400.2723122321 +14.14 - -132132245132134.1515123765412 = 132132245132148.2915123765 +14.14 - 141241241241241248267654747412 = -141241241241241248267654747397.8600000000 +14.14 - -149143276547656984948124912 = 149143276547656984948124926.1400000000 +14.14 - 0.1322135476547459213732911312 = 14.0077864523 +14.14 - -0.123912932193769965476541321 = 14.2639129321 + +Number "-16.60" (scale 10) +-16.60 - 15 = -31.6000000000 +-16.60 - -15 = -1.6000000000 +-16.60 - 1 = -17.6000000000 +-16.60 - -9 = -7.6000000000 +-16.60 - 14.14 = -30.7400000000 +-16.60 - -16.60 = 0.0000000000 +-16.60 - 0.15 = -16.7500000000 +-16.60 - -0.01 = -16.5900000000 +-16.60 - 0 = -16.6000000000 +-16.60 - 0.00 = -16.6000000000 +-16.60 - -0 = -16.6000000000 +-16.60 - -0.00 = -16.6000000000 +-16.60 - 15151324141414.412312232141241 = -15151324141431.0123122321 +-16.60 - -132132245132134.1515123765412 = 132132245132117.5515123765 +-16.60 - 141241241241241248267654747412 = -141241241241241248267654747428.6000000000 +-16.60 - -149143276547656984948124912 = 149143276547656984948124895.4000000000 +-16.60 - 0.1322135476547459213732911312 = -16.7322135476 +-16.60 - -0.123912932193769965476541321 = -16.4760870678 + +Number "0.15" (scale 10) +0.15 - 15 = -14.8500000000 +0.15 - -15 = 15.1500000000 +0.15 - 1 = -0.8500000000 +0.15 - -9 = 9.1500000000 +0.15 - 14.14 = -13.9900000000 +0.15 - -16.60 = 16.7500000000 +0.15 - 0.15 = 0.0000000000 +0.15 - -0.01 = 0.1600000000 +0.15 - 0 = 0.1500000000 +0.15 - 0.00 = 0.1500000000 +0.15 - -0 = 0.1500000000 +0.15 - -0.00 = 0.1500000000 +0.15 - 15151324141414.412312232141241 = -15151324141414.2623122321 +0.15 - -132132245132134.1515123765412 = 132132245132134.3015123765 +0.15 - 141241241241241248267654747412 = -141241241241241248267654747411.8500000000 +0.15 - -149143276547656984948124912 = 149143276547656984948124912.1500000000 +0.15 - 0.1322135476547459213732911312 = 0.0177864523 +0.15 - -0.123912932193769965476541321 = 0.2739129321 + +Number "-0.01" (scale 10) +-0.01 - 15 = -15.0100000000 +-0.01 - -15 = 14.9900000000 +-0.01 - 1 = -1.0100000000 +-0.01 - -9 = 8.9900000000 +-0.01 - 14.14 = -14.1500000000 +-0.01 - -16.60 = 16.5900000000 +-0.01 - 0.15 = -0.1600000000 +-0.01 - -0.01 = 0.0000000000 +-0.01 - 0 = -0.0100000000 +-0.01 - 0.00 = -0.0100000000 +-0.01 - -0 = -0.0100000000 +-0.01 - -0.00 = -0.0100000000 +-0.01 - 15151324141414.412312232141241 = -15151324141414.4223122321 +-0.01 - -132132245132134.1515123765412 = 132132245132134.1415123765 +-0.01 - 141241241241241248267654747412 = -141241241241241248267654747412.0100000000 +-0.01 - -149143276547656984948124912 = 149143276547656984948124911.9900000000 +-0.01 - 0.1322135476547459213732911312 = -0.1422135476 +-0.01 - -0.123912932193769965476541321 = 0.1139129321 diff --git a/ext/bcmath/tests/bcsub_large_numbers.phpt b/ext/bcmath/tests/bcsub_large_numbers.phpt new file mode 100644 index 0000000000000..91b374e346a55 --- /dev/null +++ b/ext/bcmath/tests/bcsub_large_numbers.phpt @@ -0,0 +1,276 @@ +--TEST-- +bcsub() function with large numbers +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "15151324141414.412312232141241" (scale 0) +15151324141414.412312232141241 - 15151324141414.412312232141241 = 0 +15151324141414.412312232141241 - -132132245132134.1515123765412 = 147283569273548 +15151324141414.412312232141241 - 141241241241241248267654747412 = -141241241241241233116330605997 +15151324141414.412312232141241 - -149143276547656984948124912 = 149143276547672136272266326 +15151324141414.412312232141241 - 0.1322135476547459213732911312 = 15151324141414 +15151324141414.412312232141241 - -0.123912932193769965476541321 = 15151324141414 +15151324141414.412312232141241 - 0 = 15151324141414 +15151324141414.412312232141241 - 0.00 = 15151324141414 +15151324141414.412312232141241 - -0 = 15151324141414 +15151324141414.412312232141241 - -0.00 = 15151324141414 +15151324141414.412312232141241 - 15 = 15151324141399 +15151324141414.412312232141241 - -15 = 15151324141429 +15151324141414.412312232141241 - 1 = 15151324141413 +15151324141414.412312232141241 - -9 = 15151324141423 +15151324141414.412312232141241 - 14.14 = 15151324141400 +15151324141414.412312232141241 - -16.60 = 15151324141431 +15151324141414.412312232141241 - 0.15 = 15151324141414 +15151324141414.412312232141241 - -0.01 = 15151324141414 + +Number "-132132245132134.1515123765412" (scale 0) +-132132245132134.1515123765412 - 15151324141414.412312232141241 = -147283569273548 +-132132245132134.1515123765412 - -132132245132134.1515123765412 = 0 +-132132245132134.1515123765412 - 141241241241241248267654747412 = -141241241241241380399899879546 +-132132245132134.1515123765412 - -149143276547656984948124912 = 149143276547524852702992777 +-132132245132134.1515123765412 - 0.1322135476547459213732911312 = -132132245132134 +-132132245132134.1515123765412 - -0.123912932193769965476541321 = -132132245132134 +-132132245132134.1515123765412 - 0 = -132132245132134 +-132132245132134.1515123765412 - 0.00 = -132132245132134 +-132132245132134.1515123765412 - -0 = -132132245132134 +-132132245132134.1515123765412 - -0.00 = -132132245132134 +-132132245132134.1515123765412 - 15 = -132132245132149 +-132132245132134.1515123765412 - -15 = -132132245132119 +-132132245132134.1515123765412 - 1 = -132132245132135 +-132132245132134.1515123765412 - -9 = -132132245132125 +-132132245132134.1515123765412 - 14.14 = -132132245132148 +-132132245132134.1515123765412 - -16.60 = -132132245132117 +-132132245132134.1515123765412 - 0.15 = -132132245132134 +-132132245132134.1515123765412 - -0.01 = -132132245132134 + +Number "141241241241241248267654747412" (scale 0) +141241241241241248267654747412 - 15151324141414.412312232141241 = 141241241241241233116330605997 +141241241241241248267654747412 - -132132245132134.1515123765412 = 141241241241241380399899879546 +141241241241241248267654747412 - 141241241241241248267654747412 = 0 +141241241241241248267654747412 - -149143276547656984948124912 = 141390384517788905252602872324 +141241241241241248267654747412 - 0.1322135476547459213732911312 = 141241241241241248267654747411 +141241241241241248267654747412 - -0.123912932193769965476541321 = 141241241241241248267654747412 +141241241241241248267654747412 - 0 = 141241241241241248267654747412 +141241241241241248267654747412 - 0.00 = 141241241241241248267654747412 +141241241241241248267654747412 - -0 = 141241241241241248267654747412 +141241241241241248267654747412 - -0.00 = 141241241241241248267654747412 +141241241241241248267654747412 - 15 = 141241241241241248267654747397 +141241241241241248267654747412 - -15 = 141241241241241248267654747427 +141241241241241248267654747412 - 1 = 141241241241241248267654747411 +141241241241241248267654747412 - -9 = 141241241241241248267654747421 +141241241241241248267654747412 - 14.14 = 141241241241241248267654747397 +141241241241241248267654747412 - -16.60 = 141241241241241248267654747428 +141241241241241248267654747412 - 0.15 = 141241241241241248267654747411 +141241241241241248267654747412 - -0.01 = 141241241241241248267654747412 + +Number "-149143276547656984948124912" (scale 0) +-149143276547656984948124912 - 15151324141414.412312232141241 = -149143276547672136272266326 +-149143276547656984948124912 - -132132245132134.1515123765412 = -149143276547524852702992777 +-149143276547656984948124912 - 141241241241241248267654747412 = -141390384517788905252602872324 +-149143276547656984948124912 - -149143276547656984948124912 = 0 +-149143276547656984948124912 - 0.1322135476547459213732911312 = -149143276547656984948124912 +-149143276547656984948124912 - -0.123912932193769965476541321 = -149143276547656984948124911 +-149143276547656984948124912 - 0 = -149143276547656984948124912 +-149143276547656984948124912 - 0.00 = -149143276547656984948124912 +-149143276547656984948124912 - -0 = -149143276547656984948124912 +-149143276547656984948124912 - -0.00 = -149143276547656984948124912 +-149143276547656984948124912 - 15 = -149143276547656984948124927 +-149143276547656984948124912 - -15 = -149143276547656984948124897 +-149143276547656984948124912 - 1 = -149143276547656984948124913 +-149143276547656984948124912 - -9 = -149143276547656984948124903 +-149143276547656984948124912 - 14.14 = -149143276547656984948124926 +-149143276547656984948124912 - -16.60 = -149143276547656984948124895 +-149143276547656984948124912 - 0.15 = -149143276547656984948124912 +-149143276547656984948124912 - -0.01 = -149143276547656984948124911 + +Number "0.1322135476547459213732911312" (scale 0) +0.1322135476547459213732911312 - 15151324141414.412312232141241 = -15151324141414 +0.1322135476547459213732911312 - -132132245132134.1515123765412 = 132132245132134 +0.1322135476547459213732911312 - 141241241241241248267654747412 = -141241241241241248267654747411 +0.1322135476547459213732911312 - -149143276547656984948124912 = 149143276547656984948124912 +0.1322135476547459213732911312 - 0.1322135476547459213732911312 = 0 +0.1322135476547459213732911312 - -0.123912932193769965476541321 = 0 +0.1322135476547459213732911312 - 0 = 0 +0.1322135476547459213732911312 - 0.00 = 0 +0.1322135476547459213732911312 - -0 = 0 +0.1322135476547459213732911312 - -0.00 = 0 +0.1322135476547459213732911312 - 15 = -14 +0.1322135476547459213732911312 - -15 = 15 +0.1322135476547459213732911312 - 1 = 0 +0.1322135476547459213732911312 - -9 = 9 +0.1322135476547459213732911312 - 14.14 = -14 +0.1322135476547459213732911312 - -16.60 = 16 +0.1322135476547459213732911312 - 0.15 = 0 +0.1322135476547459213732911312 - -0.01 = 0 + +Number "-0.123912932193769965476541321" (scale 0) +-0.123912932193769965476541321 - 15151324141414.412312232141241 = -15151324141414 +-0.123912932193769965476541321 - -132132245132134.1515123765412 = 132132245132134 +-0.123912932193769965476541321 - 141241241241241248267654747412 = -141241241241241248267654747412 +-0.123912932193769965476541321 - -149143276547656984948124912 = 149143276547656984948124911 +-0.123912932193769965476541321 - 0.1322135476547459213732911312 = 0 +-0.123912932193769965476541321 - -0.123912932193769965476541321 = 0 +-0.123912932193769965476541321 - 0 = 0 +-0.123912932193769965476541321 - 0.00 = 0 +-0.123912932193769965476541321 - -0 = 0 +-0.123912932193769965476541321 - -0.00 = 0 +-0.123912932193769965476541321 - 15 = -15 +-0.123912932193769965476541321 - -15 = 14 +-0.123912932193769965476541321 - 1 = -1 +-0.123912932193769965476541321 - -9 = 8 +-0.123912932193769965476541321 - 14.14 = -14 +-0.123912932193769965476541321 - -16.60 = 16 +-0.123912932193769965476541321 - 0.15 = 0 +-0.123912932193769965476541321 - -0.01 = 0 + +Number "15151324141414.412312232141241" (scale 10) +15151324141414.412312232141241 - 15151324141414.412312232141241 = 0.0000000000 +15151324141414.412312232141241 - -132132245132134.1515123765412 = 147283569273548.5638246086 +15151324141414.412312232141241 - 141241241241241248267654747412 = -141241241241241233116330605997.5876877678 +15151324141414.412312232141241 - -149143276547656984948124912 = 149143276547672136272266326.4123122321 +15151324141414.412312232141241 - 0.1322135476547459213732911312 = 15151324141414.2800986844 +15151324141414.412312232141241 - -0.123912932193769965476541321 = 15151324141414.5362251643 +15151324141414.412312232141241 - 0 = 15151324141414.4123122321 +15151324141414.412312232141241 - 0.00 = 15151324141414.4123122321 +15151324141414.412312232141241 - -0 = 15151324141414.4123122321 +15151324141414.412312232141241 - -0.00 = 15151324141414.4123122321 +15151324141414.412312232141241 - 15 = 15151324141399.4123122321 +15151324141414.412312232141241 - -15 = 15151324141429.4123122321 +15151324141414.412312232141241 - 1 = 15151324141413.4123122321 +15151324141414.412312232141241 - -9 = 15151324141423.4123122321 +15151324141414.412312232141241 - 14.14 = 15151324141400.2723122321 +15151324141414.412312232141241 - -16.60 = 15151324141431.0123122321 +15151324141414.412312232141241 - 0.15 = 15151324141414.2623122321 +15151324141414.412312232141241 - -0.01 = 15151324141414.4223122321 + +Number "-132132245132134.1515123765412" (scale 10) +-132132245132134.1515123765412 - 15151324141414.412312232141241 = -147283569273548.5638246086 +-132132245132134.1515123765412 - -132132245132134.1515123765412 = 0.0000000000 +-132132245132134.1515123765412 - 141241241241241248267654747412 = -141241241241241380399899879546.1515123765 +-132132245132134.1515123765412 - -149143276547656984948124912 = 149143276547524852702992777.8484876234 +-132132245132134.1515123765412 - 0.1322135476547459213732911312 = -132132245132134.2837259241 +-132132245132134.1515123765412 - -0.123912932193769965476541321 = -132132245132134.0275994443 +-132132245132134.1515123765412 - 0 = -132132245132134.1515123765 +-132132245132134.1515123765412 - 0.00 = -132132245132134.1515123765 +-132132245132134.1515123765412 - -0 = -132132245132134.1515123765 +-132132245132134.1515123765412 - -0.00 = -132132245132134.1515123765 +-132132245132134.1515123765412 - 15 = -132132245132149.1515123765 +-132132245132134.1515123765412 - -15 = -132132245132119.1515123765 +-132132245132134.1515123765412 - 1 = -132132245132135.1515123765 +-132132245132134.1515123765412 - -9 = -132132245132125.1515123765 +-132132245132134.1515123765412 - 14.14 = -132132245132148.2915123765 +-132132245132134.1515123765412 - -16.60 = -132132245132117.5515123765 +-132132245132134.1515123765412 - 0.15 = -132132245132134.3015123765 +-132132245132134.1515123765412 - -0.01 = -132132245132134.1415123765 + +Number "141241241241241248267654747412" (scale 10) +141241241241241248267654747412 - 15151324141414.412312232141241 = 141241241241241233116330605997.5876877678 +141241241241241248267654747412 - -132132245132134.1515123765412 = 141241241241241380399899879546.1515123765 +141241241241241248267654747412 - 141241241241241248267654747412 = 0.0000000000 +141241241241241248267654747412 - -149143276547656984948124912 = 141390384517788905252602872324.0000000000 +141241241241241248267654747412 - 0.1322135476547459213732911312 = 141241241241241248267654747411.8677864523 +141241241241241248267654747412 - -0.123912932193769965476541321 = 141241241241241248267654747412.1239129321 +141241241241241248267654747412 - 0 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 - 0.00 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 - -0 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 - -0.00 = 141241241241241248267654747412.0000000000 +141241241241241248267654747412 - 15 = 141241241241241248267654747397.0000000000 +141241241241241248267654747412 - -15 = 141241241241241248267654747427.0000000000 +141241241241241248267654747412 - 1 = 141241241241241248267654747411.0000000000 +141241241241241248267654747412 - -9 = 141241241241241248267654747421.0000000000 +141241241241241248267654747412 - 14.14 = 141241241241241248267654747397.8600000000 +141241241241241248267654747412 - -16.60 = 141241241241241248267654747428.6000000000 +141241241241241248267654747412 - 0.15 = 141241241241241248267654747411.8500000000 +141241241241241248267654747412 - -0.01 = 141241241241241248267654747412.0100000000 + +Number "-149143276547656984948124912" (scale 10) +-149143276547656984948124912 - 15151324141414.412312232141241 = -149143276547672136272266326.4123122321 +-149143276547656984948124912 - -132132245132134.1515123765412 = -149143276547524852702992777.8484876234 +-149143276547656984948124912 - 141241241241241248267654747412 = -141390384517788905252602872324.0000000000 +-149143276547656984948124912 - -149143276547656984948124912 = 0.0000000000 +-149143276547656984948124912 - 0.1322135476547459213732911312 = -149143276547656984948124912.1322135476 +-149143276547656984948124912 - -0.123912932193769965476541321 = -149143276547656984948124911.8760870678 +-149143276547656984948124912 - 0 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 - 0.00 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 - -0 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 - -0.00 = -149143276547656984948124912.0000000000 +-149143276547656984948124912 - 15 = -149143276547656984948124927.0000000000 +-149143276547656984948124912 - -15 = -149143276547656984948124897.0000000000 +-149143276547656984948124912 - 1 = -149143276547656984948124913.0000000000 +-149143276547656984948124912 - -9 = -149143276547656984948124903.0000000000 +-149143276547656984948124912 - 14.14 = -149143276547656984948124926.1400000000 +-149143276547656984948124912 - -16.60 = -149143276547656984948124895.4000000000 +-149143276547656984948124912 - 0.15 = -149143276547656984948124912.1500000000 +-149143276547656984948124912 - -0.01 = -149143276547656984948124911.9900000000 + +Number "0.1322135476547459213732911312" (scale 10) +0.1322135476547459213732911312 - 15151324141414.412312232141241 = -15151324141414.2800986844 +0.1322135476547459213732911312 - -132132245132134.1515123765412 = 132132245132134.2837259241 +0.1322135476547459213732911312 - 141241241241241248267654747412 = -141241241241241248267654747411.8677864523 +0.1322135476547459213732911312 - -149143276547656984948124912 = 149143276547656984948124912.1322135476 +0.1322135476547459213732911312 - 0.1322135476547459213732911312 = 0.0000000000 +0.1322135476547459213732911312 - -0.123912932193769965476541321 = 0.2561264798 +0.1322135476547459213732911312 - 0 = 0.1322135476 +0.1322135476547459213732911312 - 0.00 = 0.1322135476 +0.1322135476547459213732911312 - -0 = 0.1322135476 +0.1322135476547459213732911312 - -0.00 = 0.1322135476 +0.1322135476547459213732911312 - 15 = -14.8677864523 +0.1322135476547459213732911312 - -15 = 15.1322135476 +0.1322135476547459213732911312 - 1 = -0.8677864523 +0.1322135476547459213732911312 - -9 = 9.1322135476 +0.1322135476547459213732911312 - 14.14 = -14.0077864523 +0.1322135476547459213732911312 - -16.60 = 16.7322135476 +0.1322135476547459213732911312 - 0.15 = -0.0177864523 +0.1322135476547459213732911312 - -0.01 = 0.1422135476 + +Number "-0.123912932193769965476541321" (scale 10) +-0.123912932193769965476541321 - 15151324141414.412312232141241 = -15151324141414.5362251643 +-0.123912932193769965476541321 - -132132245132134.1515123765412 = 132132245132134.0275994443 +-0.123912932193769965476541321 - 141241241241241248267654747412 = -141241241241241248267654747412.1239129321 +-0.123912932193769965476541321 - -149143276547656984948124912 = 149143276547656984948124911.8760870678 +-0.123912932193769965476541321 - 0.1322135476547459213732911312 = -0.2561264798 +-0.123912932193769965476541321 - -0.123912932193769965476541321 = 0.0000000000 +-0.123912932193769965476541321 - 0 = -0.1239129321 +-0.123912932193769965476541321 - 0.00 = -0.1239129321 +-0.123912932193769965476541321 - -0 = -0.1239129321 +-0.123912932193769965476541321 - -0.00 = -0.1239129321 +-0.123912932193769965476541321 - 15 = -15.1239129321 +-0.123912932193769965476541321 - -15 = 14.8760870678 +-0.123912932193769965476541321 - 1 = -1.1239129321 +-0.123912932193769965476541321 - -9 = 8.8760870678 +-0.123912932193769965476541321 - 14.14 = -14.2639129321 +-0.123912932193769965476541321 - -16.60 = 16.4760870678 +-0.123912932193769965476541321 - 0.15 = -0.2739129321 +-0.123912932193769965476541321 - -0.01 = -0.1139129321 diff --git a/ext/bcmath/tests/bcsub_zero.phpt b/ext/bcmath/tests/bcsub_zero.phpt new file mode 100644 index 0000000000000..8f1296d8ccd26 --- /dev/null +++ b/ext/bcmath/tests/bcsub_zero.phpt @@ -0,0 +1,191 @@ +--TEST-- +bcsub() function with number zero +--EXTENSIONS-- +bcmath +--INI-- +bcmath.scale=0 +--FILE-- + +--EXPECT-- +Number "0" (scale 0) +0 - 0 = 0 +0 - 0.00 = 0 +0 - -0 = 0 +0 - -0.00 = 0 +0 - 15 = -15 +0 - -15 = 15 +0 - 1 = -1 +0 - -9 = 9 +0 - 14.14 = -14 +0 - -16.60 = 16 +0 - 0.15 = 0 +0 - -0.01 = 0 +0 - 15151324141414.412312232141241 = -15151324141414 +0 - -132132245132134.1515123765412 = 132132245132134 +0 - 141241241241241248267654747412 = -141241241241241248267654747412 +0 - -149143276547656984948124912 = 149143276547656984948124912 +0 - 0.1322135476547459213732911312 = 0 +0 - -0.123912932193769965476541321 = 0 + +Number "0.00" (scale 0) +0.00 - 0 = 0 +0.00 - 0.00 = 0 +0.00 - -0 = 0 +0.00 - -0.00 = 0 +0.00 - 15 = -15 +0.00 - -15 = 15 +0.00 - 1 = -1 +0.00 - -9 = 9 +0.00 - 14.14 = -14 +0.00 - -16.60 = 16 +0.00 - 0.15 = 0 +0.00 - -0.01 = 0 +0.00 - 15151324141414.412312232141241 = -15151324141414 +0.00 - -132132245132134.1515123765412 = 132132245132134 +0.00 - 141241241241241248267654747412 = -141241241241241248267654747412 +0.00 - -149143276547656984948124912 = 149143276547656984948124912 +0.00 - 0.1322135476547459213732911312 = 0 +0.00 - -0.123912932193769965476541321 = 0 + +Number "-0" (scale 0) +-0 - 0 = 0 +-0 - 0.00 = 0 +-0 - -0 = 0 +-0 - -0.00 = 0 +-0 - 15 = -15 +-0 - -15 = 15 +-0 - 1 = -1 +-0 - -9 = 9 +-0 - 14.14 = -14 +-0 - -16.60 = 16 +-0 - 0.15 = 0 +-0 - -0.01 = 0 +-0 - 15151324141414.412312232141241 = -15151324141414 +-0 - -132132245132134.1515123765412 = 132132245132134 +-0 - 141241241241241248267654747412 = -141241241241241248267654747412 +-0 - -149143276547656984948124912 = 149143276547656984948124912 +-0 - 0.1322135476547459213732911312 = 0 +-0 - -0.123912932193769965476541321 = 0 + +Number "-0.00" (scale 0) +-0.00 - 0 = 0 +-0.00 - 0.00 = 0 +-0.00 - -0 = 0 +-0.00 - -0.00 = 0 +-0.00 - 15 = -15 +-0.00 - -15 = 15 +-0.00 - 1 = -1 +-0.00 - -9 = 9 +-0.00 - 14.14 = -14 +-0.00 - -16.60 = 16 +-0.00 - 0.15 = 0 +-0.00 - -0.01 = 0 +-0.00 - 15151324141414.412312232141241 = -15151324141414 +-0.00 - -132132245132134.1515123765412 = 132132245132134 +-0.00 - 141241241241241248267654747412 = -141241241241241248267654747412 +-0.00 - -149143276547656984948124912 = 149143276547656984948124912 +-0.00 - 0.1322135476547459213732911312 = 0 +-0.00 - -0.123912932193769965476541321 = 0 + +Number "0" (scale 10) +0 - 0 = 0.0000000000 +0 - 0.00 = 0.0000000000 +0 - -0 = 0.0000000000 +0 - -0.00 = 0.0000000000 +0 - 15 = -15.0000000000 +0 - -15 = 15.0000000000 +0 - 1 = -1.0000000000 +0 - -9 = 9.0000000000 +0 - 14.14 = -14.1400000000 +0 - -16.60 = 16.6000000000 +0 - 0.15 = -0.1500000000 +0 - -0.01 = 0.0100000000 +0 - 15151324141414.412312232141241 = -15151324141414.4123122321 +0 - -132132245132134.1515123765412 = 132132245132134.1515123765 +0 - 141241241241241248267654747412 = -141241241241241248267654747412.0000000000 +0 - -149143276547656984948124912 = 149143276547656984948124912.0000000000 +0 - 0.1322135476547459213732911312 = -0.1322135476 +0 - -0.123912932193769965476541321 = 0.1239129321 + +Number "0.00" (scale 10) +0.00 - 0 = 0.0000000000 +0.00 - 0.00 = 0.0000000000 +0.00 - -0 = 0.0000000000 +0.00 - -0.00 = 0.0000000000 +0.00 - 15 = -15.0000000000 +0.00 - -15 = 15.0000000000 +0.00 - 1 = -1.0000000000 +0.00 - -9 = 9.0000000000 +0.00 - 14.14 = -14.1400000000 +0.00 - -16.60 = 16.6000000000 +0.00 - 0.15 = -0.1500000000 +0.00 - -0.01 = 0.0100000000 +0.00 - 15151324141414.412312232141241 = -15151324141414.4123122321 +0.00 - -132132245132134.1515123765412 = 132132245132134.1515123765 +0.00 - 141241241241241248267654747412 = -141241241241241248267654747412.0000000000 +0.00 - -149143276547656984948124912 = 149143276547656984948124912.0000000000 +0.00 - 0.1322135476547459213732911312 = -0.1322135476 +0.00 - -0.123912932193769965476541321 = 0.1239129321 + +Number "-0" (scale 10) +-0 - 0 = 0.0000000000 +-0 - 0.00 = 0.0000000000 +-0 - -0 = 0.0000000000 +-0 - -0.00 = 0.0000000000 +-0 - 15 = -15.0000000000 +-0 - -15 = 15.0000000000 +-0 - 1 = -1.0000000000 +-0 - -9 = 9.0000000000 +-0 - 14.14 = -14.1400000000 +-0 - -16.60 = 16.6000000000 +-0 - 0.15 = -0.1500000000 +-0 - -0.01 = 0.0100000000 +-0 - 15151324141414.412312232141241 = -15151324141414.4123122321 +-0 - -132132245132134.1515123765412 = 132132245132134.1515123765 +-0 - 141241241241241248267654747412 = -141241241241241248267654747412.0000000000 +-0 - -149143276547656984948124912 = 149143276547656984948124912.0000000000 +-0 - 0.1322135476547459213732911312 = -0.1322135476 +-0 - -0.123912932193769965476541321 = 0.1239129321 + +Number "-0.00" (scale 10) +-0.00 - 0 = 0.0000000000 +-0.00 - 0.00 = 0.0000000000 +-0.00 - -0 = 0.0000000000 +-0.00 - -0.00 = 0.0000000000 +-0.00 - 15 = -15.0000000000 +-0.00 - -15 = 15.0000000000 +-0.00 - 1 = -1.0000000000 +-0.00 - -9 = 9.0000000000 +-0.00 - 14.14 = -14.1400000000 +-0.00 - -16.60 = 16.6000000000 +-0.00 - 0.15 = -0.1500000000 +-0.00 - -0.01 = 0.0100000000 +-0.00 - 15151324141414.412312232141241 = -15151324141414.4123122321 +-0.00 - -132132245132134.1515123765412 = 132132245132134.1515123765 +-0.00 - 141241241241241248267654747412 = -141241241241241248267654747412.0000000000 +-0.00 - -149143276547656984948124912 = 149143276547656984948124912.0000000000 +-0.00 - 0.1322135476547459213732911312 = -0.1322135476 +-0.00 - -0.123912932193769965476541321 = 0.1239129321 diff --git a/ext/bcmath/tests/bug.66364.phpt b/ext/bcmath/tests/bug66364.phpt similarity index 100% rename from ext/bcmath/tests/bug.66364.phpt rename to ext/bcmath/tests/bug66364.phpt diff --git a/ext/bcmath/tests/run_bcmath_tests_function.inc b/ext/bcmath/tests/run_bcmath_tests_function.inc new file mode 100644 index 0000000000000..5bdafb2575db3 --- /dev/null +++ b/ext/bcmath/tests/run_bcmath_tests_function.inc @@ -0,0 +1,26 @@ +