File: round_modes_ceiling_and_floor.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (66 lines) | stat: -rw-r--r-- 914 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
--TEST--
round() with modes PositiveInfinity and NegativeInfinity
--FILE--
<?php

$numbers = [
    2.5,
    -2.5,
    3.5,
    -3.5,
    7,
    -7,
    0.61,
    0.69,
    0,
    -0,
    1.9999,
    -1.9999,
    0.0001,
    -0.0001,
];

echo "mode PositiveInfinity\n";
foreach($numbers as $number) {
    var_dump(ceil($number) === round($number, 0, RoundingMode::PositiveInfinity));
}

echo "\n";
echo "mode NegativeInfinity\n";
foreach($numbers as $number) {
    var_dump(floor($number) === round($number, 0, RoundingMode::NegativeInfinity));
}

?>
--EXPECT--
mode PositiveInfinity
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

mode NegativeInfinity
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)