On Thu Aug 28 01:47 PM, Christian Seiler wrote: > Hi again, > >> A few weeks ago I wrote quite a long posting to internals@ that tried >> to clarify the situation on the round() function in PHP. I was asked >> to write it up as an RFC in the wiki, which I have done: >> >> http://wiki.php.net/rfc/rounding > > Since there has been no reaction so far to my proposal (besides the > help from Hannes and Pierre for the Win32 build dependencies, thanks > for that btw.), I'd like to know why? Am I talking gibberish and my > proposal is hard to understand? Or have I simply chosen a topic that > many do not consider worthwhile investing that amount of energy into? > Or is it something else?
For the record, I was very excited to see your proposal and the work you've done. I'm not a PHP dev so I can't comment on the patch, maybe there might be a performance concern? I don't know either the history of the 'rounding fuzz', but there's definitely space for improvement... The problem naturally isn't with floats but that the round() function is very misleading. My opinion is the rounding precision should be removed or fixed since it doesn't work "as expected". i.e. javascript, there's no precision: Math.round() " Nevertheless, what could be discussed separately is the introduction of a new type that automatically uses an arbitrary precision library internally, since writing $a * $b is much more natural than e.g. bcmul($a, $b). This, however, goes far beyond the scope of this proposal. " I'm all for this... maybe something like this: // within some 'numeric' precision $a = (numeric)2; $b = (numeric)0.5; $mult = $a * $b; echo $mult;// 1 (numeric) echo (2.5 == $a + $b); // true echo (2.5 === $a + $b); // false echo ((numeric)2.5 === $a + $b); // true -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php