diff options
author | datibbaw <datibbaw@php.net> | 2013-11-19 15:36:06 +0800 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2014-02-06 14:41:21 +0100 |
commit | aff56f3c4539869910cf2778cf0ece2d8c2dd671 (patch) | |
tree | e98c54de8656d0684fba10018abadbba81a4feb4 /Zend/zend_operators.h | |
parent | df76fd8997ef503c5fee479c7349c47996a0c781 (diff) | |
download | php-git-aff56f3c4539869910cf2778cf0ece2d8c2dd671.tar.gz |
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
Diffstat (limited to 'Zend/zend_operators.h')
-rw-r--r-- | Zend/zend_operators.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index cfc84063e4..1fab481269 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -47,6 +47,7 @@ BEGIN_EXTERN_C() ZEND_API int add_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_API int sub_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_API int mul_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); +ZEND_API int pow_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_API int div_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_API int mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_API int boolean_xor_function(zval *result, zval *op1, zval *op2 TSRMLS_DC); |