Does the bcmul use karatsuba method for multiplication, or is it the normal way of O(n^2).
I want to multiply numbers which have sizes of 10,000 digits.
Where can i contribute to this library. So i can add more functions?
bcmul
(PHP 4, PHP 5)
bcmul — Multiply two arbitrary precision number
说明
string bcmul
( string $left_operand
, string $right_operand
[, int $scale
] )
Multiply the left_operand by the right_operand .
参数
- left_operand
-
The left operand, as a string.
- right_operand
-
The right operand, as a string.
- scale
-
This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().
返回值
Returns the result as a string.
范例
Example#1 bcmul() example
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>
bcmul
noj at cse dot unsw dot edu dot au
23-Apr-2008 04:29
23-Apr-2008 04:29
ju(...)
02-Apr-2008 04:00
02-Apr-2008 04:00
Except that with xpheas method, you lose all the benefits of arbitrary precision as the * operator only works on int and float and those are restricted in length (See int ant float types for more information).
xpheas (at) gmail . com
14-Jun-2007 11:13
14-Jun-2007 11:13
if you have compiled php width "--disable-bcmath", you can use this:
<?php
function bcmul($_ro, $_lo, $_scale=0)
{
return round($_ro*$_lo, $_scale);
}
?>
