Bug #10116 Updated: bcpow treats second argument as integer

From: Date: Tue, 07 Aug 2001 17:21:03 +0000
Subject: Bug #10116 Updated: bcpow treats second argument as integer
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-62454@lists.php.net to get a copy of this message
ID: 10116 Updated by: jmcastagnetto Reported By: dan.polansky@seznam.cz Old Status: Open Status: Closed Bug Type: BC math related Operating System: Windows 98 PHP Version: 4.0.4pl1 New Comment: This is an issue w/ the bcmath library itself, not a PHP bug. If you look in ext/bcmath/libbcmath/src/raise.c you'll see that in the function bc_raise(), the exponent is coherced to a long, and the comments says: /* Raise NUM1 to the NUM2 power. The result is placed in RESULT. Maximum exponent is LONG_MAX. If a NUM2 is not an integer, only the integer part is used. */ Suggest submitting as a bug to the author of bcmath (if you think it is a bug): philnelson@acm.org Check also the definition of BC numbers in POSIX, the FAQ for bcmath, and the Unix/Linux command bc Previous Comments: ------------------------------------------------------------------------ [2001-04-02 09:29:49] dan.polansky@seznam.cz Function bcpow is supposed to work with arbitrary precision numbers. However, it seems to treat its second argument as an integer. E.g. echo bcpow(256,0.5); echo bcpow(256,0.99); both produce 1. It seems that the second argument is truncated down to integer value. Either this is a "feature" and documentation must be changed or it is a bug of either Windows version or even other versions of BCMath/PHP. bcpow(0.5,2); produces 0.25, which is all right. Regards, -- Dan ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=10116&edit=1

« previous php.dev (#62454) next »