4 public $max = PHP_INT_MAX
;
8 $add = function($a,$b) { return $a +
$b; };
9 $sub = function($a,$b) { return $a - $b; };
10 $mul = function($a,$b) { return $a * $b; };
15 // some initial cases for the simplifier
21 // initial sanity checks for no overflow
26 // check runtime operators on just ints
28 array($add, $min, -1),
31 array($sub, $max, -1),
33 array($mul, $max / 2, 3),
35 array($mul, $max, -2),
36 array($mul, $min, -3),
38 // check numeric strings
39 array($add, "$max", 1),
40 array($add, $max, '1'),
41 array($add, "$max", '1'),
44 array($add, 987654321987654321987654321, 1),
47 foreach ($ops as list($op, $lhs, $rhs)) {
48 $res = $op($lhs, $rhs);
52 $unary = array($min, $max, -4, 0, 5, "12", 5.2, "1.5", "abc", "", null);
55 foreach ($unary as $val) {
75 for ($i = 0; $i < count($array); ++
$i) {
77 var_dump($array[$i]++
);
82 for ($i = 0; $i < count($array); ++
$i) {
84 var_dump(++
$array[$i]);
89 for ($i = 0; $i < count($array); ++
$i) {
91 var_dump($array[$i]--);
96 for ($i = 0; $i < count($array); ++
$i) {
98 var_dump(--$array[$i]);