Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?
2
// $Id: demo.php,v 1.5 2007/02/06 06:00:46 terrafrost Exp $
3
// Example of how to use of BigInteger.  The output can be compared to the output that the BCMath functions would yield.
4
 
5
// bcpowmod is included with Math_BigInteger.php via PHP_Compat.
6
 
7
include('../Math/BigInteger.php');
8
 
9
$x = mt_rand(1,10000000);
10
$y = mt_rand(1,10000000);
11
$z = mt_rand(1,10000000);
12
 
13
$_x = new Math_BigInteger($x);
14
$_y = new Math_BigInteger($y);
15
$_z = new Math_BigInteger($z);
16
 
17
echo "\$x = $x;\r\n";
18
echo "\$y = $y;\r\n";
19
echo "\$z = $z;\r\n";
20
 
21
echo "\r\n";
22
 
23
$result = bcadd($x,$y);
24
$_result = $_x->add($_y);
25
 
26
echo "\$result = \$x+\$y;\r\n";
27
echo "$result\r\n";
28
echo $_result->toString();
29
echo "\r\n\r\n";
30
 
31
$result = bcsub($result,$y);
32
$_result = $_result->subtract($_y);
33
 
34
echo "\$result = \$result-\$y;\r\n";
35
echo "$result\r\n";
36
echo $_result->toString();
37
echo "\r\n\r\n";
38
 
39
$result = bcdiv($x,$y);
40
list($_result,) = $_x->divide($_y);
41
 
42
echo "\$result = \$x/\$y;\r\n";
43
echo "$result\r\n";
44
echo $_result->toString();
45
echo "\r\n\r\n";
46
 
47
$result = bcmod($y,$z);
48
list(,$_result) = $_y->divide($_z);
49
 
50
echo "\$result = \$x%\$y;\r\n";
51
echo "$result\r\n";
52
echo $_result->toString();
53
echo "\r\n\r\n";
54
 
55
$result = bcmul($x,$z);
56
$_result = $_x->multiply($_z);
57
 
58
echo "\$result = \$x*\$z;\r\n";
59
echo "$result\r\n";
60
echo $_result->toString();
61
echo "\r\n\r\n";
62
 
63
$result = bcpowmod($x,$y,$result);
64
$_result = $_x->modPow($_y,$_result);
65
 
66
echo "\$result = (\$x**\$y)%\$result;\r\n";
67
echo "$result\r\n";
68
echo $_result->toString();
69
echo "\r\n\r\n";
70
 
71
// modInverse isn't demo'd because no equivalent to it exists in BCMath.
72
 
73
?>