1--TEST--
2BcMath\Number sub object by operator
3--EXTENSIONS--
4bcmath
5--FILE--
6<?php
7
8$values = [
9    100,
10    '20',
11    '0.01',
12    '0.40',
13];
14
15foreach ($values as $value1) {
16    $num1 = new BcMath\Number($value1);
17
18    foreach ($values as $value2) {
19        echo "{$value1} - {$value2}\n";
20        $num2 = new BcMath\Number($value2);
21        $ret = $num1 - $num2;
22        var_dump($ret);
23        echo "\n";
24    }
25}
26?>
27--EXPECT--
28100 - 100
29object(BcMath\Number)#3 (2) {
30  ["value"]=>
31  string(1) "0"
32  ["scale"]=>
33  int(0)
34}
35
36100 - 20
37object(BcMath\Number)#2 (2) {
38  ["value"]=>
39  string(2) "80"
40  ["scale"]=>
41  int(0)
42}
43
44100 - 0.01
45object(BcMath\Number)#4 (2) {
46  ["value"]=>
47  string(5) "99.99"
48  ["scale"]=>
49  int(2)
50}
51
52100 - 0.40
53object(BcMath\Number)#3 (2) {
54  ["value"]=>
55  string(5) "99.60"
56  ["scale"]=>
57  int(2)
58}
59
6020 - 100
61object(BcMath\Number)#2 (2) {
62  ["value"]=>
63  string(3) "-80"
64  ["scale"]=>
65  int(0)
66}
67
6820 - 20
69object(BcMath\Number)#1 (2) {
70  ["value"]=>
71  string(1) "0"
72  ["scale"]=>
73  int(0)
74}
75
7620 - 0.01
77object(BcMath\Number)#3 (2) {
78  ["value"]=>
79  string(5) "19.99"
80  ["scale"]=>
81  int(2)
82}
83
8420 - 0.40
85object(BcMath\Number)#2 (2) {
86  ["value"]=>
87  string(5) "19.60"
88  ["scale"]=>
89  int(2)
90}
91
920.01 - 100
93object(BcMath\Number)#1 (2) {
94  ["value"]=>
95  string(6) "-99.99"
96  ["scale"]=>
97  int(2)
98}
99
1000.01 - 20
101object(BcMath\Number)#4 (2) {
102  ["value"]=>
103  string(6) "-19.99"
104  ["scale"]=>
105  int(2)
106}
107
1080.01 - 0.01
109object(BcMath\Number)#2 (2) {
110  ["value"]=>
111  string(4) "0.00"
112  ["scale"]=>
113  int(2)
114}
115
1160.01 - 0.40
117object(BcMath\Number)#1 (2) {
118  ["value"]=>
119  string(5) "-0.39"
120  ["scale"]=>
121  int(2)
122}
123
1240.40 - 100
125object(BcMath\Number)#4 (2) {
126  ["value"]=>
127  string(6) "-99.60"
128  ["scale"]=>
129  int(2)
130}
131
1320.40 - 20
133object(BcMath\Number)#3 (2) {
134  ["value"]=>
135  string(6) "-19.60"
136  ["scale"]=>
137  int(2)
138}
139
1400.40 - 0.01
141object(BcMath\Number)#1 (2) {
142  ["value"]=>
143  string(4) "0.39"
144  ["scale"]=>
145  int(2)
146}
147
1480.40 - 0.40
149object(BcMath\Number)#4 (2) {
150  ["value"]=>
151  string(4) "0.00"
152  ["scale"]=>
153  int(2)
154}
155