Skip to content

Commit e88fdfb

Browse files
remicolletrudi-augment
authored andcommitted
Fix #93 silent Warning: unexpected NAN value was coerced to string
1 parent 3940027 commit e88fdfb

18 files changed

Lines changed: 92 additions & 92 deletions

File tree

tests/Decimal/cast.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ $tests = [
5555
[(float) Decimal::valueOf("1234.5678E+9"), 1.2345678E+12],
5656
[(float) Decimal::valueOf("1234.5678E+90"), 1.2345678E+93],
5757

58-
[(string) (float) Decimal::valueOf( "NAN"), "NAN"],
58+
[@(string) (float) Decimal::valueOf( "NAN"), "NAN"],
5959
[(string) (float) Decimal::valueOf( "INF"), "INF"],
6060
[(string) (float) Decimal::valueOf("-INF"), "-INF"],
6161

tests/Decimal/methods/add.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ $tests = [
6565
],
6666

6767
/* Special numbers */
68-
[Decimal::valueOf( "NAN"), "NAN", (string) (NAN + NAN), Decimal::DEFAULT_PRECISION],
69-
[Decimal::valueOf( "NAN"), "INF", (string) (NAN + INF), Decimal::DEFAULT_PRECISION],
70-
[Decimal::valueOf( "NAN"), "-INF", (string) (NAN + -INF), Decimal::DEFAULT_PRECISION],
71-
[Decimal::valueOf( "INF"), "NAN", (string) (INF + NAN), Decimal::DEFAULT_PRECISION],
72-
[Decimal::valueOf( "INF"), "INF", (string) (INF + INF), Decimal::DEFAULT_PRECISION],
73-
[Decimal::valueOf( "INF"), "-INF", (string) (INF + -INF), Decimal::DEFAULT_PRECISION],
74-
[Decimal::valueOf("-INF"), "NAN", (string) (-INF + NAN), Decimal::DEFAULT_PRECISION],
75-
[Decimal::valueOf("-INF"), "INF", (string) (-INF + INF), Decimal::DEFAULT_PRECISION],
76-
[Decimal::valueOf("-INF"), "-INF", (string) (-INF + -INF), Decimal::DEFAULT_PRECISION],
68+
[Decimal::valueOf( "NAN"), "NAN", @(string) (NAN + NAN), Decimal::DEFAULT_PRECISION],
69+
[Decimal::valueOf( "NAN"), "INF", @(string) (NAN + INF), Decimal::DEFAULT_PRECISION],
70+
[Decimal::valueOf( "NAN"), "-INF", @(string) (NAN + -INF), Decimal::DEFAULT_PRECISION],
71+
[Decimal::valueOf( "INF"), "NAN", @(string) (INF + NAN), Decimal::DEFAULT_PRECISION],
72+
[Decimal::valueOf( "INF"), "INF", @(string) (INF + INF), Decimal::DEFAULT_PRECISION],
73+
[Decimal::valueOf( "INF"), "-INF", @(string) (INF + -INF), Decimal::DEFAULT_PRECISION],
74+
[Decimal::valueOf("-INF"), "NAN", @(string) (-INF + NAN), Decimal::DEFAULT_PRECISION],
75+
[Decimal::valueOf("-INF"), "INF", @(string) (-INF + INF), Decimal::DEFAULT_PRECISION],
76+
[Decimal::valueOf("-INF"), "-INF", @(string) (-INF + -INF), Decimal::DEFAULT_PRECISION],
7777
];
7878

7979
foreach ($tests as $index => $test) {

tests/Decimal/methods/div.phpt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,18 @@ $tests = [
5252
],
5353

5454
/* Special numbers */
55-
[Decimal::valueOf(0), "NAN", (string) ( 0 / NAN), Decimal::DEFAULT_PRECISION],
56-
[Decimal::valueOf(0), "INF", (string) ( 0 / INF), Decimal::DEFAULT_PRECISION],
57-
[Decimal::valueOf(0), "-INF", (string) ( 0 / -INF), Decimal::DEFAULT_PRECISION],
58-
[Decimal::valueOf( "NAN"), "NAN", (string) (NAN / NAN), Decimal::DEFAULT_PRECISION],
59-
[Decimal::valueOf( "NAN"), "INF", (string) (NAN / INF), Decimal::DEFAULT_PRECISION],
60-
[Decimal::valueOf( "NAN"), "-INF", (string) (NAN / -INF), Decimal::DEFAULT_PRECISION],
61-
[Decimal::valueOf( "INF"), "NAN", (string) (INF / NAN), Decimal::DEFAULT_PRECISION],
62-
[Decimal::valueOf( "INF"), "INF", (string) (INF / INF), Decimal::DEFAULT_PRECISION],
63-
[Decimal::valueOf( "INF"), "-INF", (string) (INF / -INF), Decimal::DEFAULT_PRECISION],
64-
[Decimal::valueOf("-INF"), "NAN", (string) (-INF / NAN), Decimal::DEFAULT_PRECISION],
65-
[Decimal::valueOf("-INF"), "INF", (string) (-INF / INF), Decimal::DEFAULT_PRECISION],
66-
[Decimal::valueOf("-INF"), "-INF", (string) (-INF / -INF), Decimal::DEFAULT_PRECISION],
55+
[Decimal::valueOf(0), "NAN", @(string) ( 0 / NAN), Decimal::DEFAULT_PRECISION],
56+
[Decimal::valueOf(0), "INF", @(string) ( 0 / INF), Decimal::DEFAULT_PRECISION],
57+
[Decimal::valueOf(0), "-INF", @(string) ( 0 / -INF), Decimal::DEFAULT_PRECISION],
58+
[Decimal::valueOf( "NAN"), "NAN", @(string) (NAN / NAN), Decimal::DEFAULT_PRECISION],
59+
[Decimal::valueOf( "NAN"), "INF", @(string) (NAN / INF), Decimal::DEFAULT_PRECISION],
60+
[Decimal::valueOf( "NAN"), "-INF", @(string) (NAN / -INF), Decimal::DEFAULT_PRECISION],
61+
[Decimal::valueOf( "INF"), "NAN", @(string) (INF / NAN), Decimal::DEFAULT_PRECISION],
62+
[Decimal::valueOf( "INF"), "INF", @(string) (INF / INF), Decimal::DEFAULT_PRECISION],
63+
[Decimal::valueOf( "INF"), "-INF", @(string) (INF / -INF), Decimal::DEFAULT_PRECISION],
64+
[Decimal::valueOf("-INF"), "NAN", @(string) (-INF / NAN), Decimal::DEFAULT_PRECISION],
65+
[Decimal::valueOf("-INF"), "INF", @(string) (-INF / INF), Decimal::DEFAULT_PRECISION],
66+
[Decimal::valueOf("-INF"), "-INF", @(string) (-INF / -INF), Decimal::DEFAULT_PRECISION],
6767
];
6868

6969
foreach ($tests as $index => $test) {

tests/Decimal/methods/ln.phpt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ $tests = [
3434
[Decimal::valueOf("0.000123456", 50), "-8.9996257406810102209987166229396596684344507962672", 50],
3535

3636
/* Match PHP on special values */
37-
[Decimal::valueOf( "NAN"), (string) log( NAN), Decimal::DEFAULT_PRECISION],
38-
[Decimal::valueOf("-INF"), (string) log(-INF), Decimal::DEFAULT_PRECISION],
39-
[Decimal::valueOf( "INF"), (string) log( INF), Decimal::DEFAULT_PRECISION],
37+
[Decimal::valueOf( "NAN"), @(string) log( NAN), Decimal::DEFAULT_PRECISION],
38+
[Decimal::valueOf("-INF"), @(string) log(-INF), Decimal::DEFAULT_PRECISION],
39+
[Decimal::valueOf( "INF"), @(string) log( INF), Decimal::DEFAULT_PRECISION],
4040

41-
[Decimal::valueOf( "0"), (string) log( 0), Decimal::DEFAULT_PRECISION],
42-
[Decimal::valueOf("-1"), (string) log(-1), Decimal::DEFAULT_PRECISION],
41+
[Decimal::valueOf( "0"), @(string) log( 0), Decimal::DEFAULT_PRECISION],
42+
[Decimal::valueOf("-1"), @(string) log(-1), Decimal::DEFAULT_PRECISION],
4343
];
4444

4545
foreach ($tests as $test) {

tests/Decimal/methods/log10.phpt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ $tests = [
3030
[Decimal::valueOf("0.000123456"), "-3.908487798372228318930600222932094", Decimal::DEFAULT_PRECISION],
3131
[Decimal::valueOf("0.000123456", 50), "-3.9084877983722283189306002229320942053464158123113", 50],
3232

33-
[Decimal::valueOf( "0"), (string) log10( 0), Decimal::DEFAULT_PRECISION],
34-
[Decimal::valueOf( "-1"), (string) log10( -1), Decimal::DEFAULT_PRECISION],
33+
[Decimal::valueOf( "0"), @(string) log10( 0), Decimal::DEFAULT_PRECISION],
34+
[Decimal::valueOf( "-1"), @(string) log10( -1), Decimal::DEFAULT_PRECISION],
3535

36-
[Decimal::valueOf( "NAN"), (string) log10( NAN), Decimal::DEFAULT_PRECISION],
37-
[Decimal::valueOf( "INF"), (string) log10( INF), Decimal::DEFAULT_PRECISION],
38-
[Decimal::valueOf("-INF"), (string) log10(-INF), Decimal::DEFAULT_PRECISION],
36+
[Decimal::valueOf( "NAN"), @(string) log10( NAN), Decimal::DEFAULT_PRECISION],
37+
[Decimal::valueOf( "INF"), @(string) log10( INF), Decimal::DEFAULT_PRECISION],
38+
[Decimal::valueOf("-INF"), @(string) log10(-INF), Decimal::DEFAULT_PRECISION],
3939
];
4040

4141
foreach ($tests as $test) {

tests/Decimal/methods/mul.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ $tests = [
5858
],
5959

6060
/* Special numbers */
61-
[Decimal::valueOf( "NAN"), "NAN", (string) (NAN * NAN), Decimal::DEFAULT_PRECISION],
62-
[Decimal::valueOf( "NAN"), "INF", (string) (NAN * INF), Decimal::DEFAULT_PRECISION],
63-
[Decimal::valueOf( "NAN"), "-INF", (string) (NAN * -INF), Decimal::DEFAULT_PRECISION],
64-
[Decimal::valueOf( "INF"), "NAN", (string) (INF * NAN), Decimal::DEFAULT_PRECISION],
65-
[Decimal::valueOf( "INF"), "INF", (string) (INF * INF), Decimal::DEFAULT_PRECISION],
66-
[Decimal::valueOf( "INF"), "-INF", (string) (INF * -INF), Decimal::DEFAULT_PRECISION],
67-
[Decimal::valueOf("-INF"), "NAN", (string) (-INF * NAN), Decimal::DEFAULT_PRECISION],
68-
[Decimal::valueOf("-INF"), "INF", (string) (-INF * INF), Decimal::DEFAULT_PRECISION],
69-
[Decimal::valueOf("-INF"), "-INF", (string) (-INF * -INF), Decimal::DEFAULT_PRECISION],
61+
[Decimal::valueOf( "NAN"), "NAN", @(string) (NAN * NAN), Decimal::DEFAULT_PRECISION],
62+
[Decimal::valueOf( "NAN"), "INF", @(string) (NAN * INF), Decimal::DEFAULT_PRECISION],
63+
[Decimal::valueOf( "NAN"), "-INF", @(string) (NAN * -INF), Decimal::DEFAULT_PRECISION],
64+
[Decimal::valueOf( "INF"), "NAN", @(string) (INF * NAN), Decimal::DEFAULT_PRECISION],
65+
[Decimal::valueOf( "INF"), "INF", @(string) (INF * INF), Decimal::DEFAULT_PRECISION],
66+
[Decimal::valueOf( "INF"), "-INF", @(string) (INF * -INF), Decimal::DEFAULT_PRECISION],
67+
[Decimal::valueOf("-INF"), "NAN", @(string) (-INF * NAN), Decimal::DEFAULT_PRECISION],
68+
[Decimal::valueOf("-INF"), "INF", @(string) (-INF * INF), Decimal::DEFAULT_PRECISION],
69+
[Decimal::valueOf("-INF"), "-INF", @(string) (-INF * -INF), Decimal::DEFAULT_PRECISION],
7070

7171
[Decimal::valueOf( "NAN"), 0, "NAN", Decimal::DEFAULT_PRECISION],
7272
[Decimal::valueOf( "INF"), 0, "NAN", Decimal::DEFAULT_PRECISION],

tests/Decimal/methods/sub.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ $tests = [
6262
],
6363

6464
/* Special numbers */
65-
[Decimal::valueOf( "NAN"), "NAN", (string) (NAN - NAN), Decimal::DEFAULT_PRECISION],
66-
[Decimal::valueOf( "NAN"), "INF", (string) (NAN - INF), Decimal::DEFAULT_PRECISION],
67-
[Decimal::valueOf( "NAN"), "-INF", (string) (NAN - -INF), Decimal::DEFAULT_PRECISION],
68-
[Decimal::valueOf( "INF"), "NAN", (string) (INF - NAN), Decimal::DEFAULT_PRECISION],
69-
[Decimal::valueOf( "INF"), "INF", (string) (INF - INF), Decimal::DEFAULT_PRECISION],
70-
[Decimal::valueOf( "INF"), "-INF", (string) (INF - -INF), Decimal::DEFAULT_PRECISION],
71-
[Decimal::valueOf("-INF"), "NAN", (string) (-INF - NAN), Decimal::DEFAULT_PRECISION],
72-
[Decimal::valueOf("-INF"), "INF", (string) (-INF - INF), Decimal::DEFAULT_PRECISION],
73-
[Decimal::valueOf("-INF"), "-INF", (string) (-INF - -INF), Decimal::DEFAULT_PRECISION],
65+
[Decimal::valueOf( "NAN"), "NAN", @(string) (NAN - NAN), Decimal::DEFAULT_PRECISION],
66+
[Decimal::valueOf( "NAN"), "INF", @(string) (NAN - INF), Decimal::DEFAULT_PRECISION],
67+
[Decimal::valueOf( "NAN"), "-INF", @(string) (NAN - -INF), Decimal::DEFAULT_PRECISION],
68+
[Decimal::valueOf( "INF"), "NAN", @(string) (INF - NAN), Decimal::DEFAULT_PRECISION],
69+
[Decimal::valueOf( "INF"), "INF", @(string) (INF - INF), Decimal::DEFAULT_PRECISION],
70+
[Decimal::valueOf( "INF"), "-INF", @(string) (INF - -INF), Decimal::DEFAULT_PRECISION],
71+
[Decimal::valueOf("-INF"), "NAN", @(string) (-INF - NAN), Decimal::DEFAULT_PRECISION],
72+
[Decimal::valueOf("-INF"), "INF", @(string) (-INF - INF), Decimal::DEFAULT_PRECISION],
73+
[Decimal::valueOf("-INF"), "-INF", @(string) (-INF - -INF), Decimal::DEFAULT_PRECISION],
7474
];
7575

7676
foreach ($tests as $index => $test) {

tests/Number/helpers/Number.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public function toRational(): \Decimal\Rational
110110

111111
public function toString(): string
112112
{
113-
return (string) $this->value;
113+
return @(string) $this->value;
114114
}
115115

116116
public function toInt(): int

tests/Number/methods/abs.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ print_r(Number::valueOf("-5")->abs());
1313
print_r(Number::valueOf( 5)->abs());
1414
print_r(Number::valueOf(-5)->abs());
1515

16-
print_r(Number::valueOf( NAN)->abs());
16+
@print_r(Number::valueOf( NAN)->abs());
1717
print_r(Number::valueOf( INF)->abs());
1818
print_r(Number::valueOf(-INF)->abs());
1919

@@ -57,4 +57,4 @@ Number::mul
5757
Number Object
5858
(
5959
[value:protected] => INF
60-
)
60+
)

tests/Number/methods/ceil.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ print_r(Number::valueOf("0")->ceil());
1010
print_r(Number::valueOf( "0.1")->ceil());
1111
print_r(Number::valueOf("-0.1")->ceil());
1212

13-
print_r(Number::valueOf( NAN)->ceil());
13+
@print_r(Number::valueOf( NAN)->ceil());
1414
print_r(Number::valueOf( INF)->ceil());
1515
print_r(Number::valueOf(-INF)->ceil());
1616

@@ -50,4 +50,4 @@ Number::toDecimal
5050
Number Object
5151
(
5252
[value:protected] => -INF
53-
)
53+
)

0 commit comments

Comments
 (0)