diff --git a/tests/std/hrtime/hrtime.phpt b/tests/std/hrtime/hrtime.phpt new file mode 100644 index 00000000..614056c7 --- /dev/null +++ b/tests/std/hrtime/hrtime.phpt @@ -0,0 +1,28 @@ +--TEST-- +Test hrtime() aligns with microtime() +--FLAKY-- +This test frequently fails in CI +--FILE-- + 0.05) { + print "FAIL, $d"; +} else { + print "OK, $d"; +} + +?> +--EXPECTF-- +OK, %f diff --git a/tests/std/hrtime/hrtime_array.phpt b/tests/std/hrtime/hrtime_array.phpt new file mode 100644 index 00000000..c3b4b612 --- /dev/null +++ b/tests/std/hrtime/hrtime_array.phpt @@ -0,0 +1,15 @@ +--TEST-- +Test hrtime() return array +--FILE-- + +--EXPECTF-- +array(2) { + [0]=> + int(%d) + [1]=> + int(%d) +} diff --git a/tests/std/math/intdiv.phpt b/tests/std/math/intdiv.phpt new file mode 100644 index 00000000..b441cb0a --- /dev/null +++ b/tests/std/math/intdiv.phpt @@ -0,0 +1,31 @@ +--TEST-- +intdiv functionality +--FILE-- +getMessage() . "\n"; +} +try { + var_dump(intdiv(1, 0)); +} catch (Throwable $e) { + echo "Exception: " . $e->getMessage() . "\n"; +} + +?> +--EXPECT-- +int(1) +int(-1) +int(-1) +int(1) +int(1) +int(1) +Exception: Division of PHP_INT_MIN by -1 is not an integer +Exception: Division by zero diff --git a/tests/std/math/log.phpt b/tests/std/math/log.phpt new file mode 100644 index 00000000..4df77e64 --- /dev/null +++ b/tests/std/math/log.phpt @@ -0,0 +1,42 @@ +--TEST-- +log() tests +--FILE-- + ($x - 2))) { + $count++; + } else { + print "$x : $x2\n"; + } +} +print $count . "\n"; + +// Now test the base form of log +for ($base = 2; $base < 11; $base++) { + for ($x = 0, $count= 0; $x < 50; $x++) { + $x2 = (int) pow($base, log($x, $base)); + // base ^ log(x) should be close in range to x + if (($x2 < ($x + 2)) && ($x2 > ($x - 2))) { + $count++; + } else { + print "base $base: $x : $x2\n"; + } + } + print $count . "\n"; +} +?> +--EXPECT-- +On failure, please mail result to php-dev@lists.php.net +200 +50 +50 +50 +50 +50 +50 +50 +50 +50 diff --git a/tests/std/math/log_basic.phpt b/tests/std/math/log_basic.phpt new file mode 100644 index 00000000..ae2e790b --- /dev/null +++ b/tests/std/math/log_basic.phpt @@ -0,0 +1,56 @@ +--TEST-- +Test log() - basic function test log() +--INI-- +precision=14 +--FILE-- + +--EXPECT-- +LOG tests...no base +float(3.1354942159291497) +float(NAN) +float(3.1548704948922883) +float(NAN) +float(3.1354942159291497) +float(3.1354942159291497) +float(3.1354942159291497) +float(3.1548704948922883) +float(3.1548704948922883) +float(0) +float(-INF) + + LOG tests...base +float(2.2617809780285065) +float(NAN) +float(2.275758008814007) +float(NAN) +float(2.2617809780285065) +float(2.2617809780285065) +float(2.2617809780285065) +float(2.275758008814007) +float(2.275758008814007) +float(0) +float(-INF) diff --git a/tests/std/math/number_format_basic.phpt b/tests/std/math/number_format_basic.phpt new file mode 100644 index 00000000..40b00d1a --- /dev/null +++ b/tests/std/math/number_format_basic.phpt @@ -0,0 +1,135 @@ +--TEST-- +Test number_format() - basic function test number_format() +--FILE-- + +--EXPECT-- +number_format tests.....default +string(5) "1,235" +string(6) "-1,235" +string(10) "12,346,578" +string(11) "-12,345,679" +string(7) "999,999" +string(8) "-999,999" +string(7) "999,999" +string(8) "-999,999" +string(11) "305,450,479" +string(11) "402,653,183" +string(11) "123,456,789" +string(3) "123" +string(3) "123" +string(1) "1" +string(1) "0" + + number_format tests.....with two dp +string(8) "1,234.57" +string(9) "-1,234.57" +string(13) "12,346,578.00" +string(14) "-12,345,678.90" +string(10) "999,999.00" +string(11) "-999,999.00" +string(10) "999,999.00" +string(11) "-999,999.00" +string(14) "305,450,479.00" +string(14) "402,653,183.00" +string(14) "123,456,789.00" +string(6) "123.46" +string(6) "123.46" +string(4) "1.00" +string(4) "0.00" + + number_format tests.....English format +string(8) "1 234.57" +string(9) "-1 234.57" +string(13) "12 346 578.00" +string(14) "-12 345 678.90" +string(10) "999 999.00" +string(11) "-999 999.00" +string(10) "999 999.00" +string(11) "-999 999.00" +string(14) "305 450 479.00" +string(14) "402 653 183.00" +string(14) "123 456 789.00" +string(6) "123.46" +string(6) "123.46" +string(4) "1.00" +string(4) "0.00" + + number_format tests.....French format +string(8) "1 234,57" +string(9) "-1 234,57" +string(13) "12 346 578,00" +string(14) "-12 345 678,90" +string(10) "999 999,00" +string(11) "-999 999,00" +string(10) "999 999,00" +string(11) "-999 999,00" +string(14) "305 450 479,00" +string(14) "402 653 183,00" +string(14) "123 456 789,00" +string(6) "123,46" +string(6) "123,46" +string(4) "1,00" +string(4) "0,00" + + number_format tests.....multichar format +string(26) "1 THOUSAND 234 DECIMALS 57" +string(27) "-1 THOUSAND 234 DECIMALS 57" +string(40) "12 THOUSAND 346 THOUSAND 578 DECIMALS 00" +string(41) "-12 THOUSAND 345 THOUSAND 678 DECIMALS 90" +string(28) "999 THOUSAND 999 DECIMALS 00" +string(29) "-999 THOUSAND 999 DECIMALS 00" +string(28) "999 THOUSAND 999 DECIMALS 00" +string(29) "-999 THOUSAND 999 DECIMALS 00" +string(41) "305 THOUSAND 450 THOUSAND 479 DECIMALS 00" +string(41) "402 THOUSAND 653 THOUSAND 183 DECIMALS 00" +string(41) "123 THOUSAND 456 THOUSAND 789 DECIMALS 00" +string(15) "123 DECIMALS 46" +string(15) "123 DECIMALS 46" +string(13) "1 DECIMALS 00" +string(13) "0 DECIMALS 00" diff --git a/tests/std/math/number_format_decimals.phpt b/tests/std/math/number_format_decimals.phpt new file mode 100644 index 00000000..5fa45fdd --- /dev/null +++ b/tests/std/math/number_format_decimals.phpt @@ -0,0 +1,305 @@ +--TEST-- +Test number_format() - test function with different decimal places +--FILE-- + +--EXPECTF-- +testing float(1.5151) +... with decimal places of 0: string(1) "2" +... with decimal places of 1: string(3) "1.5" +... with decimal places of 2: string(4) "1.52" +... with decimal places of 3: string(5) "1.515" +... with decimal places of 4: string(6) "1.5151" +... with decimal places of 5: string(7) "1.51510" +... with decimal places of -1: string(1) "0" +... with decimal places of -2: string(1) "0" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(15.151) +... with decimal places of 0: string(2) "15" +... with decimal places of 1: string(4) "15.2" +... with decimal places of 2: string(5) "15.15" +... with decimal places of 3: string(6) "15.151" +... with decimal places of 4: string(7) "15.1510" +... with decimal places of 5: string(8) "15.15100" +... with decimal places of -1: string(2) "20" +... with decimal places of -2: string(1) "0" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(151.51) +... with decimal places of 0: string(3) "152" +... with decimal places of 1: string(5) "151.5" +... with decimal places of 2: string(6) "151.51" +... with decimal places of 3: string(7) "151.510" +... with decimal places of 4: string(8) "151.5100" +... with decimal places of 5: string(9) "151.51000" +... with decimal places of -1: string(3) "150" +... with decimal places of -2: string(3) "200" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(1515.1) +... with decimal places of 0: string(5) "1,515" +... with decimal places of 1: string(7) "1,515.1" +... with decimal places of 2: string(8) "1,515.10" +... with decimal places of 3: string(9) "1,515.100" +... with decimal places of 4: string(10) "1,515.1000" +... with decimal places of 5: string(11) "1,515.10000" +... with decimal places of -1: string(5) "1,520" +... with decimal places of -2: string(5) "1,500" +... with decimal places of -3: string(5) "2,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing int(15151) +... with decimal places of 0: string(6) "15,151" +... with decimal places of 1: string(8) "15,151.0" +... with decimal places of 2: string(9) "15,151.00" +... with decimal places of 3: string(10) "15,151.000" +... with decimal places of 4: string(11) "15,151.0000" +... with decimal places of 5: string(12) "15,151.00000" +... with decimal places of -1: string(6) "15,150" +... with decimal places of -2: string(6) "15,200" +... with decimal places of -3: string(6) "15,000" +... with decimal places of -4: string(6) "20,000" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(-1.5151) +... with decimal places of 0: string(2) "-2" +... with decimal places of 1: string(4) "-1.5" +... with decimal places of 2: string(5) "-1.52" +... with decimal places of 3: string(6) "-1.515" +... with decimal places of 4: string(7) "-1.5151" +... with decimal places of 5: string(8) "-1.51510" +... with decimal places of -1: string(1) "0" +... with decimal places of -2: string(1) "0" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(-15.151) +... with decimal places of 0: string(3) "-15" +... with decimal places of 1: string(5) "-15.2" +... with decimal places of 2: string(6) "-15.15" +... with decimal places of 3: string(7) "-15.151" +... with decimal places of 4: string(8) "-15.1510" +... with decimal places of 5: string(9) "-15.15100" +... with decimal places of -1: string(3) "-20" +... with decimal places of -2: string(1) "0" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(-151.51) +... with decimal places of 0: string(4) "-152" +... with decimal places of 1: string(6) "-151.5" +... with decimal places of 2: string(7) "-151.51" +... with decimal places of 3: string(8) "-151.510" +... with decimal places of 4: string(9) "-151.5100" +... with decimal places of 5: string(10) "-151.51000" +... with decimal places of -1: string(4) "-150" +... with decimal places of -2: string(4) "-200" +... with decimal places of -3: string(1) "0" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(-1515.1) +... with decimal places of 0: string(6) "-1,515" +... with decimal places of 1: string(8) "-1,515.1" +... with decimal places of 2: string(9) "-1,515.10" +... with decimal places of 3: string(10) "-1,515.100" +... with decimal places of 4: string(11) "-1,515.1000" +... with decimal places of 5: string(12) "-1,515.10000" +... with decimal places of -1: string(6) "-1,520" +... with decimal places of -2: string(6) "-1,500" +... with decimal places of -3: string(6) "-2,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing int(-15151) +... with decimal places of 0: string(7) "-15,151" +... with decimal places of 1: string(9) "-15,151.0" +... with decimal places of 2: string(10) "-15,151.00" +... with decimal places of 3: string(11) "-15,151.000" +... with decimal places of 4: string(12) "-15,151.0000" +... with decimal places of 5: string(13) "-15,151.00000" +... with decimal places of -1: string(7) "-15,150" +... with decimal places of -2: string(7) "-15,200" +... with decimal places of -3: string(7) "-15,000" +... with decimal places of -4: string(7) "-20,000" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing int(999) +... with decimal places of 0: string(3) "999" +... with decimal places of 1: string(5) "999.0" +... with decimal places of 2: string(6) "999.00" +... with decimal places of 3: string(7) "999.000" +... with decimal places of 4: string(8) "999.0000" +... with decimal places of 5: string(9) "999.00000" +... with decimal places of -1: string(5) "1,000" +... with decimal places of -2: string(5) "1,000" +... with decimal places of -3: string(5) "1,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing int(-999) +... with decimal places of 0: string(4) "-999" +... with decimal places of 1: string(6) "-999.0" +... with decimal places of 2: string(7) "-999.00" +... with decimal places of 3: string(8) "-999.000" +... with decimal places of 4: string(9) "-999.0000" +... with decimal places of 5: string(10) "-999.00000" +... with decimal places of -1: string(6) "-1,000" +... with decimal places of -2: string(6) "-1,000" +... with decimal places of -3: string(6) "-1,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(999) +... with decimal places of 0: string(3) "999" +... with decimal places of 1: string(5) "999.0" +... with decimal places of 2: string(6) "999.00" +... with decimal places of 3: string(7) "999.000" +... with decimal places of 4: string(8) "999.0000" +... with decimal places of 5: string(9) "999.00000" +... with decimal places of -1: string(5) "1,000" +... with decimal places of -2: string(5) "1,000" +... with decimal places of -3: string(5) "1,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing float(-999) +... with decimal places of 0: string(4) "-999" +... with decimal places of 1: string(6) "-999.0" +... with decimal places of 2: string(7) "-999.00" +... with decimal places of 3: string(8) "-999.000" +... with decimal places of 4: string(9) "-999.0000" +... with decimal places of 5: string(10) "-999.00000" +... with decimal places of -1: string(6) "-1,000" +... with decimal places of -2: string(6) "-1,000" +... with decimal places of -3: string(6) "-1,000" +... with decimal places of -4: string(1) "0" +... with decimal places of -5: string(1) "0" +... with decimal places of %i: string(1) "0" +testing int(999999) +... with decimal places of 0: string(7) "999,999" +... with decimal places of 1: string(9) "999,999.0" +... with decimal places of 2: string(10) "999,999.00" +... with decimal places of 3: string(11) "999,999.000" +... with decimal places of 4: string(12) "999,999.0000" +... with decimal places of 5: string(13) "999,999.00000" +... with decimal places of -1: string(9) "1,000,000" +... with decimal places of -2: string(9) "1,000,000" +... with decimal places of -3: string(9) "1,000,000" +... with decimal places of -4: string(9) "1,000,000" +... with decimal places of -5: string(9) "1,000,000" +... with decimal places of %i: string(1) "0" +testing int(-999999) +... with decimal places of 0: string(8) "-999,999" +... with decimal places of 1: string(10) "-999,999.0" +... with decimal places of 2: string(11) "-999,999.00" +... with decimal places of 3: string(12) "-999,999.000" +... with decimal places of 4: string(13) "-999,999.0000" +... with decimal places of 5: string(14) "-999,999.00000" +... with decimal places of -1: string(10) "-1,000,000" +... with decimal places of -2: string(10) "-1,000,000" +... with decimal places of -3: string(10) "-1,000,000" +... with decimal places of -4: string(10) "-1,000,000" +... with decimal places of -5: string(10) "-1,000,000" +... with decimal places of %i: string(1) "0" +testing float(999999) +... with decimal places of 0: string(7) "999,999" +... with decimal places of 1: string(9) "999,999.0" +... with decimal places of 2: string(10) "999,999.00" +... with decimal places of 3: string(11) "999,999.000" +... with decimal places of 4: string(12) "999,999.0000" +... with decimal places of 5: string(13) "999,999.00000" +... with decimal places of -1: string(9) "1,000,000" +... with decimal places of -2: string(9) "1,000,000" +... with decimal places of -3: string(9) "1,000,000" +... with decimal places of -4: string(9) "1,000,000" +... with decimal places of -5: string(9) "1,000,000" +... with decimal places of %i: string(1) "0" +testing float(-999999) +... with decimal places of 0: string(8) "-999,999" +... with decimal places of 1: string(10) "-999,999.0" +... with decimal places of 2: string(11) "-999,999.00" +... with decimal places of 3: string(12) "-999,999.000" +... with decimal places of 4: string(13) "-999,999.0000" +... with decimal places of 5: string(14) "-999,999.00000" +... with decimal places of -1: string(10) "-1,000,000" +... with decimal places of -2: string(10) "-1,000,000" +... with decimal places of -3: string(10) "-1,000,000" +... with decimal places of -4: string(10) "-1,000,000" +... with decimal places of -5: string(10) "-1,000,000" +... with decimal places of %i: string(1) "0" +testing int(2147483647) +... with decimal places of 0: string(13) "2,147,483,647" +... with decimal places of 1: string(15) "2,147,483,647.0" +... with decimal places of 2: string(16) "2,147,483,647.00" +... with decimal places of 3: string(17) "2,147,483,647.000" +... with decimal places of 4: string(18) "2,147,483,647.0000" +... with decimal places of 5: string(19) "2,147,483,647.00000" +... with decimal places of -1: string(13) "2,147,483,650" +... with decimal places of -2: string(13) "2,147,483,600" +... with decimal places of -3: string(13) "2,147,484,000" +... with decimal places of -4: string(13) "2,147,480,000" +... with decimal places of -5: string(13) "2,147,500,000" +... with decimal places of %i: string(1) "0" +testing int(-2147483648) +... with decimal places of 0: string(14) "-2,147,483,648" +... with decimal places of 1: string(16) "-2,147,483,648.0" +... with decimal places of 2: string(17) "-2,147,483,648.00" +... with decimal places of 3: string(18) "-2,147,483,648.000" +... with decimal places of 4: string(19) "-2,147,483,648.0000" +... with decimal places of 5: string(20) "-2,147,483,648.00000" +... with decimal places of -1: string(14) "-2,147,483,650" +... with decimal places of -2: string(14) "-2,147,483,600" +... with decimal places of -3: string(14) "-2,147,484,000" +... with decimal places of -4: string(14) "-2,147,480,000" +... with decimal places of -5: string(14) "-2,147,500,000" +... with decimal places of %i: string(1) "0" diff --git a/tests/std/math/number_format_multichar.phpt b/tests/std/math/number_format_multichar.phpt new file mode 100644 index 00000000..1ed82304 --- /dev/null +++ b/tests/std/math/number_format_multichar.phpt @@ -0,0 +1,73 @@ +--TEST-- +Test number_format() - multiple character separator support +--FILE-- + +--EXPECT-- +number_format tests.....multiple character decimal point +string(13) "1 234·57" +string(14) "-1 234·57" +string(18) "12 346 578·00" +string(19) "-12 345 678·90" +string(19) "305 450 479·00" +string(19) "402 653 183·00" +string(19) "123 456 789·00" +string(11) "123·46" +string(11) "123·46" +string(9) "1·00" +string(9) "0·00" + + number_format tests.....multiple character thousand separator +string(15) "1 234.57" +string(16) "-1 234.57" +string(27) "12 346 578.00" +string(28) "-12 345 678.90" +string(28) "305 450 479.00" +string(28) "402 653 183.00" +string(28) "123 456 789.00" +string(6) "123.46" +string(6) "123.46" +string(4) "1.00" +string(4) "0.00" + + number_format tests.....multiple character decimal and thousep +string(20) "1 234·57" +string(21) "-1 234·57" +string(32) "12 346 578·00" +string(33) "-12 345 678·90" +string(33) "305 450 479·00" +string(33) "402 653 183·00" +string(33) "123 456 789·00" +string(11) "123·46" +string(11) "123·46" +string(9) "1·00" +string(9) "0·00" diff --git a/tests/std/math/number_format_negative_zero.phpt b/tests/std/math/number_format_negative_zero.phpt new file mode 100644 index 00000000..743a5350 --- /dev/null +++ b/tests/std/math/number_format_negative_zero.phpt @@ -0,0 +1,16 @@ +--TEST-- +Prevent number_format from returning negative zero +--FILE-- + +--EXPECT-- +float(-1.15E-15) +string(4) "0.00" +string(5) "-0.01" diff --git a/tests/std/math/number_format_with_3_args.phpt b/tests/std/math/number_format_with_3_args.phpt new file mode 100644 index 00000000..72419ea0 --- /dev/null +++ b/tests/std/math/number_format_with_3_args.phpt @@ -0,0 +1,12 @@ +--TEST-- +number_format should use default thousands seperator when 3 arguments are used +--FILE-- + +--EXPECT-- +string(8) "2,020F14" diff --git a/tests/std/math/number_format_with_null_args.phpt b/tests/std/math/number_format_with_null_args.phpt new file mode 100644 index 00000000..f99a06b9 --- /dev/null +++ b/tests/std/math/number_format_with_null_args.phpt @@ -0,0 +1,14 @@ +--TEST-- +number_format should use default values when passed null +--FILE-- + +--EXPECT-- +string(8) "2T020.14" +string(8) "2,020F14" diff --git a/tests/std/math/octdec_variation1.phpt b/tests/std/math/octdec_variation1.phpt new file mode 100644 index 00000000..a78f1ebf --- /dev/null +++ b/tests/std/math/octdec_variation1.phpt @@ -0,0 +1,134 @@ +--TEST-- +Test octdec() function : usage variations - different data types as $octal_string arg +--INI-- +precision=14 +--FILE-- +getMessage(), "\n"; + } + $iterator++; +}; +fclose($fp); +?> +--EXPECTF-- +*** Testing octdec() : usage variations *** + +-- Iteration 1 -- +int(0) + +-- Iteration 2 -- +int(1) + +-- Iteration 3 -- +int(5349) + +-- Iteration 4 -- +int(1253) + +-- Iteration 5 -- +int(1134037) + +-- Iteration 6 -- +int(1134038) + +-- Iteration 7 -- +int(69) + +-- Iteration 8 -- +int(69) + +-- Iteration 9 -- +int(175304192) + +-- Iteration 10 -- +int(342391) + +-- Iteration 11 -- +int(5) + +-- Iteration 12 -- +int(1) + +-- Iteration 13 -- +int(0) + +-- Iteration 14 -- +int(1) + +-- Iteration 15 -- +int(0) + +-- Iteration 16 -- +int(0) + +-- Iteration 17 -- +int(0) + +-- Iteration 18 -- +octdec(): Argument #1 ($octal_string) must be of type string, array given + +-- Iteration 19 -- +int(0) + +-- Iteration 20 -- +int(0) + +-- Iteration 21 -- +int(0) + +-- Iteration 22 -- +octdec(): Argument #1 ($octal_string) must be of type string, resource given diff --git a/tests/std/math/octdec_variation2.phpt b/tests/std/math/octdec_variation2.phpt new file mode 100644 index 00000000..bf26f457 --- /dev/null +++ b/tests/std/math/octdec_variation2.phpt @@ -0,0 +1,16 @@ +--TEST-- +Test octdec() function : strange literals +--FILE-- + +--EXPECT-- +int(0) +int(0) +int(0) +int(0) diff --git a/tests/std/math/pi_basic.phpt b/tests/std/math/pi_basic.phpt new file mode 100644 index 00000000..021e35fd --- /dev/null +++ b/tests/std/math/pi_basic.phpt @@ -0,0 +1,14 @@ +--TEST-- +Test pi() - basic function test pi() +--INI-- +precision=17 +--FILE-- + +--EXPECT-- +3.1415926535897931 +3.1415926535897931