[ Index ] |
|
Code source de GeekLog 1.4.1 |
1 <?php 2 // +----------------------------------------------------------------------+ 3 // | PHP Version 4 | 4 // +----------------------------------------------------------------------+ 5 // | Copyright (c) 1997-2004 The PHP Group | 6 // +----------------------------------------------------------------------+ 7 // | This source file is subject to version 3.0 of the PHP license, | 8 // | that is bundled with this package in the file LICENSE, and is | 9 // | available at through the world-wide-web at | 10 // | http://www.php.net/license/3_0.txt. | 11 // | If you did not receive a copy of the PHP license and are unable to | 12 // | obtain it through the world-wide-web, please send a note to | 13 // | license@php.net so we can mail you a copy immediately. | 14 // +----------------------------------------------------------------------+ 15 // | Authors: Aidan Lister <aidan@php.net> | 16 // +----------------------------------------------------------------------+ 17 // 18 // $Id: bcpowmod.php,v 1.2 2005/11/22 20:24:45 aidan Exp $ 19 20 21 /** 22 * Replace bcpowmod() 23 * 24 * @category PHP 25 * @package PHP_Compat 26 * @link http://php.net/function.bcpowmod 27 * @author Sara Golemon <pollita@php.net> 28 * @version $Revision: 1.2 $ 29 * @since PHP 5.0.0 30 * @require PHP 4.0.0 (user_error) 31 */ 32 if (!function_exists('bcpowmod')) { 33 function bcpowmod($x, $y, $modulus, $scale) 34 { 35 // Sanity check 36 if (!is_scalar($x)) { 37 user_error('bcpowmod() expects parameter 1 to be string, ' . 38 gettype($x) . ' given', E_USER_WARNING); 39 return false; 40 } 41 42 if (!is_scalar($y)) { 43 user_error('bcpowmod() expects parameter 2 to be string, ' . 44 gettype($y) . ' given', E_USER_WARNING); 45 return false; 46 } 47 48 if (!is_scalar($modulus)) { 49 user_error('bcpowmod() expects parameter 3 to be string, ' . 50 gettype($modulus) . ' given', E_USER_WARNING); 51 return false; 52 } 53 54 if (!is_scalar($scale)) { 55 user_error('bcpowmod() expects parameter 4 to be integer, ' . 56 gettype($scale) . ' given', E_USER_WARNING); 57 return false; 58 } 59 60 $t = '1'; 61 while (bccomp($y, '0')) { 62 if (bccomp(bcmod($y, '2'), '0')) { 63 $t = bcmod(bcmul($t, $x), $modulus); 64 $y = bcsub($y, '1'); 65 } 66 67 $x = bcmod(bcmul($x, $x), $modulus); 68 $y = bcdiv($y, '2'); 69 } 70 71 return $t; 72 } 73 } 74 75 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 12:27:40 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |