com php-src: add T_POW (**) operator: Zend/zend _ini_scanner.c Zend/zend_ini_scanner_defs.h Z end/zend_language_parser.y Zend/zend_language_scann er.c
Zend/zend_language_scanner.l Zend/zend_langu age_scanner_defs.h Zend/zend_opcode.c Zend/zend _operators.c Zend/zend_operators.h Zend/zend_vm _def.h
Zend/zend_vm_execute.h Zend/zend_vm_op codes.c Zend/zend_vm_opcodes.h ext/gmp/gmp.c ex t/gmp/tests/overloading.phpt ext/standard/math.c ext/st
andard/tests/math
| From: | Bob Weinand | Date: | Thu, 06 Feb 2014 07:10:56 +0000 |
| Subject: | com php-src: add T_POW (**) operator: Zend/zend _ini_scanner.c Zend/zend_ini_scanner_defs.h Z end/zend_language_parser.y Zend/zend_language_scann er.c Zend/zend_language_scanner.l Zend/zend_langu age_scanner_defs.h Zend/zend_opcode.c Zend/zend _operators.c Zend/zend_operators.h Zend/zend_vm _def.h Zend/zend_vm_execute.h Zend/zend_vm_op codes.c Zend/zend_vm_opcodes.h ext/gmp/gmp.c ex t/gmp/tests/overloading.phpt ext/standard/math.c ext/st andard/tests/math |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-75916@lists.php.net to get a copy of this message | ||
Commit: e5ded6e843fc43dde4b6c65405a1d3e2ae026eb4
Author: datibbaw <datibbaw@php.net> Tue, 19 Nov 2013 15:36:06 +0800
Parents: 190c7772c15685ed48a9031d13a90d727ac3a563
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e5ded6e843fc43dde4b6c65405a1d3e2ae026eb4
Log:
add T_POW (**) operator
Fixed recognition of the operator
Added opcode, still doing multiply instead of pow()
opcode now always returns int(42)
The right answer, but always a float
Yanked code from pow() implementation.
Should not handle negative long as exponent ourselves
Added test cases from pow()
Moved precedence higher than '~'
Added GMP operator overloading
Added ZEND_ASSIGN_POW (**=) operator.
Added pow() as a language construct.
Adjusted test cases for changed precedence.
Reduced pow() to shell function around ZEND_API pow_function()
Reduced test case to only contain edge cases
Added overloading test case
Moved unary minus above T_POW
Revert "Added pow() as a language construct."
Bad bad bad idea.
This reverts commit f60b98cf7a8371233d800a6faa286ddba4432d02.
Reverted unary minus behaviour due to previous revert.
Convert arrays to int(0)
Exponent with array as a base becomes int(0)
Rebase against master
Fixed tokenizer test case
Changed paths:
M Zend/zend_ini_scanner.c
M Zend/zend_ini_scanner_defs.h
M Zend/zend_language_parser.y
M Zend/zend_language_scanner.c
M Zend/zend_language_scanner.l
M Zend/zend_language_scanner_defs.h
M Zend/zend_opcode.c
M Zend/zend_operators.c
M Zend/zend_operators.h
M Zend/zend_vm_def.h
M Zend/zend_vm_execute.h
M Zend/zend_vm_opcodes.c
M Zend/zend_vm_opcodes.h
M ext/gmp/gmp.c
M ext/gmp/tests/overloading.phpt
M ext/standard/math.c
A ext/standard/tests/math/pow-operator.phpt
M ext/standard/tests/math/pow_variation1.phpt
M ext/standard/tests/math/pow_variation1_64bit.phpt
M ext/tokenizer/tests/bug60097.phpt
Diff: <Diff exceeded maximum size>