I would like to bring this topic back up, as there were users confused with it 
and it's absolutely not consistent what we have now.
See also https://bugs.php.net/bug.php?id=69957 
<https://bugs.php.net/bug.php?id=69957> (As I thought it was non-intentional, I 
went ahead and "fixed" it, was reverted later, hence discussing that now here.)

So, looks like there was some quick decisions and discussion I totally had 
missed.
What we have now is:

> Am 03.04.2015 um 23:13 schrieb Dmitry Stogov <dmi...@zend.com>:
> 
> So the summary:
> 
> 1) division by zero produces a warning and +/-INF IS_DOUBLE. Compile-time
> evaluation is disabled.
> 
> 3) Modulo by zero produces Exception.Compile-time evaluation is disabled.

Why? Why do we change the one but not the other?

Why does 0 % 0 throw an Exception, but 0 / 0 NAN?
Why does 1 % 0 throw an Exception, but 1 / 0 INF?

I'd like to either properly return 0, INF or NAN in both cases or in none.

Having different rules for so similar operations is non-sense, I think. It just 
is inconsistent and causes confusion.

Bob

Reply via email to