cvs: php4 /ext/standard/tests/math pow.phpt test_eval.inc

From: Date: Sat, 04 Aug 2001 13:20:32 +0000
Subject: cvs: php4 /ext/standard/tests/math pow.phpt test_eval.inc
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-6543@lists.php.net to get a copy of this message
jeroen Sat Aug 4 09:20:32 2001 EDT Added files: /php4/ext/standard/tests/math pow.phpt test_eval.inc Log: Added tests for pow() #The tests near LONG_MAX/MIN fail, I know that Index: php4/ext/standard/tests/math/pow.phpt +++ php4/ext/standard/tests/math/pow.phpt --TEST-- Various pow() tests --POST-- --GET-- --FILE-- <?php define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF); define('LONG_MIN', -LONG_MAX - 1); printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ), is_int(LONG_MIN-1),is_int(LONG_MAX+1)); $tests = <<<TESTS 0.25 === pow(-2,-2) -0.5 === pow(-2,-1) 1 === pow(-2, 0) -2 === pow(-2, 1) 4 === pow(-2, 2) 1 === pow(-1,-2) -1 === pow(-1,-1) 1 === pow(-1, 0) -1 === pow(-1, 1) 1 === pow(-1, 2) FALSE === pow( 0,-2) FALSE === pow( 0,-1) 1 === pow( 0, 0) 0 === pow( 0, 1) 0 === pow( 0, 2) 1 === pow( 1,-2) 1 === pow( 1,-1) 1 === pow( 1, 0) 1 === pow( 1, 1) 1 === pow( 1, 2) 0.25 === pow( 2,-2) 0.5 === pow( 2,-1) 1 === pow( 2, 0) 2 === pow( 2, 1) 4 === pow( 2, 2) FALSE === pow(-2,-2.0) FALSE === pow(-2,-1.0) FALSE === pow(-2, 0.0) FALSE === pow(-2, 1.0) FALSE === pow(-2, 2.0) FALSE === pow(-1,-2.0) FALSE === pow(-1,-1.0) FALSE === pow(-1, 0.0) FALSE === pow(-1, 1.0) FALSE === pow(-1, 2.0) FALSE === pow( 0,-2.0) FALSE === pow( 0,-1.0) FALSE === pow( 0, 0.0) FALSE === pow( 0, 1.0) FALSE === pow( 0, 2.0) 1.0 === pow( 1,-2.0) 1.0 === pow( 1,-1.0) 1.0 === pow( 1, 0.0) 1.0 === pow( 1, 1.0) 1.0 === pow( 1, 2.0) 0.25 === pow( 2,-2.0) 0.5 === pow( 2,-1.0) 1.0 === pow( 2, 0.0) 2.0 === pow( 2, 1.0) 4.0 === pow( 2, 2.0) 2147483648 === pow(2,31) -2147483648 === pow(-2,31) 1000000000 === pow(10,9) 100000000 === pow(-10,8) 1 === pow(-1,1443279822) -1 === pow(-1,1443279821) sqrt(2) === pow(2,1/2) FALSE === pow(-2.0,-2.0) FALSE === pow(-2.0,-1.0) FALSE === pow(-2.0, 0.0) FALSE === pow(-2.0, 1.0) FALSE === pow(-2.0, 2.0) FALSE === pow(-1.0,-2.0) FALSE === pow(-1.0,-1.0) FALSE === pow(-1.0, 0.0) FALSE === pow(-1.0, 1.0) FALSE === pow(-1.0, 2.0) FALSE === pow( 0.0,-2.0) FALSE === pow( 0.0,-1.0) FALSE === pow( 0.0, 0.0) FALSE === pow( 0.0, 1.0) FALSE === pow( 0.0, 2.0) 1.0 === pow( 1.0,-2.0) 1.0 === pow( 1.0,-1.0) 1.0 === pow( 1.0, 0.0) 1.0 === pow( 1.0, 1.0) 1.0 === pow( 1.0, 2.0) 0.25 === pow( 2.0,-2.0) 0.5 === pow( 2.0,-1.0) 1.0 === pow( 2.0, 0.0) 2.0 === pow( 2.0, 1.0) 4.0 === pow( 2.0, 2.0) 0.25 === pow(-2.0,-2) -0.5 === pow(-2.0,-1) 1.0 === pow(-2.0, 0) -2.0 === pow(-2.0, 1) 4.0 === pow(-2.0, 2) 1.0 === pow(-1.0,-2) -1.0 === pow(-1.0,-1) 1.0 === pow(-1.0, 0) -1.0 === pow(-1.0, 1) 1.0 === pow(-1.0, 2) FALSE === pow( 0.0,-2) FALSE === pow( 0.0,-1) 1.0 === pow( 0.0, 0) 0.0 === pow( 0.0, 1) 0.0 === pow( 0.0, 2) 1.0 === pow( 1.0,-2) 1.0 === pow( 1.0,-1) 1.0 === pow( 1.0, 0) 1.0 === pow( 1.0, 1) 1.0 === pow( 1.0, 2) 0.25 === pow( 2.0,-2) 0.5 === pow( 2.0,-1) 1.0 === pow( 2.0, 0) 2.0 === pow( 2.0, 1) 4.0 === pow( 2.0, 2) LONG_MAX === pow(LONG_MAX,1); LONG_MIN === pow(LONG_MIN,1); LONG_MAX*LONG_MAX === pow(LONG_MAX,2); LONG_MIN*LONG_MIN === pow(LONG_MIN,2); (float)LONG_MAX === pow(LONG_MAX,1.0); FALSE === pow(LONG_MIN,1.0); LONG_MAX*LONG_MAX === pow(LONG_MAX,2.0); FALSE === pow(LONG_MIN,2.0); TESTS; echo "On failure, please mail result to jeroen@php.net\n"; include('test_eval.inc'); --EXPECT-- 1,1,0,0 On failure, please contact jeroen@php.net OK Index: php4/ext/standard/tests/math/test_eval.inc +++ php4/ext/standard/tests/math/test_eval.inc <?php error_reporting(0); $tests = explode("\n",$tests); $success = TRUE; foreach ($tests as $test) { $res = eval("return ($test);"); $success = $success && $res; if (!$res) { echo "\nAssert failed:\n"; echo "$test\n"; list($left,$right) = explode('===',$test); echo "Left: ";var_dump(eval("return ($left );")); echo "Right: ";var_dump(eval("return ($right);")); } } if ($success) echo "OK";

« previous php.cvs (#6543) next »