xref: /php-src/ext/bcmath/tests/number/methods/mod.phpt (revision fad899e5)
1--TEST--
2BcMath\Number mod()
3--EXTENSIONS--
4bcmath
5--FILE--
6<?php
7
8$values1 = ['100.012', '-100.012'];
9
10$values2 = [
11    [100, 'int'],
12    [-30, 'int'],
13    ['-20', 'string'],
14    ['0.01', 'string'],
15    ['-0.40', 'string'],
16    [new BcMath\Number('80.3'), 'object'],
17    [new BcMath\Number('-50.6'), 'object'],
18];
19
20foreach ($values1 as $value1) {
21    $num = new BcMath\Number($value1);
22
23    foreach ($values2 as [$value2, $type]) {
24        echo "{$value1} % {$value2}: {$type}\n";
25        $ret = $num->mod($value2);
26        var_dump($ret);
27        echo "\n";
28    }
29}
30?>
31--EXPECT--
32100.012 % 100: int
33object(BcMath\Number)#4 (2) {
34  ["value"]=>
35  string(5) "0.012"
36  ["scale"]=>
37  int(3)
38}
39
40100.012 % -30: int
41object(BcMath\Number)#5 (2) {
42  ["value"]=>
43  string(6) "10.012"
44  ["scale"]=>
45  int(3)
46}
47
48100.012 % -20: string
49object(BcMath\Number)#4 (2) {
50  ["value"]=>
51  string(5) "0.012"
52  ["scale"]=>
53  int(3)
54}
55
56100.012 % 0.01: string
57object(BcMath\Number)#5 (2) {
58  ["value"]=>
59  string(5) "0.002"
60  ["scale"]=>
61  int(3)
62}
63
64100.012 % -0.40: string
65object(BcMath\Number)#4 (2) {
66  ["value"]=>
67  string(5) "0.012"
68  ["scale"]=>
69  int(3)
70}
71
72100.012 % 80.3: object
73object(BcMath\Number)#5 (2) {
74  ["value"]=>
75  string(6) "19.712"
76  ["scale"]=>
77  int(3)
78}
79
80100.012 % -50.6: object
81object(BcMath\Number)#4 (2) {
82  ["value"]=>
83  string(6) "49.412"
84  ["scale"]=>
85  int(3)
86}
87
88-100.012 % 100: int
89object(BcMath\Number)#3 (2) {
90  ["value"]=>
91  string(6) "-0.012"
92  ["scale"]=>
93  int(3)
94}
95
96-100.012 % -30: int
97object(BcMath\Number)#4 (2) {
98  ["value"]=>
99  string(7) "-10.012"
100  ["scale"]=>
101  int(3)
102}
103
104-100.012 % -20: string
105object(BcMath\Number)#3 (2) {
106  ["value"]=>
107  string(6) "-0.012"
108  ["scale"]=>
109  int(3)
110}
111
112-100.012 % 0.01: string
113object(BcMath\Number)#4 (2) {
114  ["value"]=>
115  string(6) "-0.002"
116  ["scale"]=>
117  int(3)
118}
119
120-100.012 % -0.40: string
121object(BcMath\Number)#3 (2) {
122  ["value"]=>
123  string(6) "-0.012"
124  ["scale"]=>
125  int(3)
126}
127
128-100.012 % 80.3: object
129object(BcMath\Number)#4 (2) {
130  ["value"]=>
131  string(7) "-19.712"
132  ["scale"]=>
133  int(3)
134}
135
136-100.012 % -50.6: object
137object(BcMath\Number)#3 (2) {
138  ["value"]=>
139  string(7) "-49.412"
140  ["scale"]=>
141  int(3)
142}
143