Estas funciones permiten trabajar con números enteros de cualquier longitud
arbitraria empleando la librerà GNUMP.
Estas funciones se añadieron en la versión de PHP 4.0.4.
Nota:
La mayorÃa de funciones GMP aceptan como argumentos números GMP,
definidos como resource más adelante. Sin embargo, la
mayorÃa de estas funciones también aceptan argumentos de tipo
numérico o cadenas de texto, ya que se pueden convertir fácilmente.
Además, si existe una función más rápida que pueda
operar con enteros, se empleará esa función en lugar de la otra
función más lenta. Este proceso se realiza de forma automática y
transparente, por lo que a modo de resumen se puede decir que se pueden emplear
números de tipo entero en todas aquellas funciones cuyos parámetros
se han definido como números GMP.
Vea también la documentación de la función gmp_init().
| Aviso |
Si se quiere indicar de forma explÃcita un número entero muy grande, se
recomienda hacerlo en forma de cadena. De otra forma, PHP lo interpreta como un entero
y podrÃa producirse una pérdida de precisión antes de comenzar a
utilizar las funciones GMP.
|
Nota:
Esta extensión está disponible en sistemas Windows desde la versión de PHP 5.1.0.
La librerÃa GMP de puede descargar desde la dirección http://www.swox.com/gmp/. Además, en ese sitio web también está
disponible el manual de GMP.
Para poder utilizar estas funciones se requiere al menos la versión 2 de GMP. Algunas funciones
pueden requerir además alguna versión más reciente.
Para poder utilizar estas funciones, se debe compilar PHP con soporte de
GMP mediante la opción --with-gmp.
Esta extensión no tiene directivas de
configuración en php.ini.
Esta extensión no tiene
ningún tipo de recurso definido.
Estas constantes están
definidas por esta extensión y estarán disponibles
solamente cuando la extensión ha sido o bien compilada dentro
de PHP o grabada dinámicamente en tiempo de ejecución.
Ejemplo 1. Cálculo del factorial usando GMP
<?php function fact($x) { $factorial = 1; for ($i=2; $i < $x; $i++) { $factorial = gmp_mul($factorial, $i); } return $factorial; }
echo gmp_strval(fact(1000)) . "\n"; ?>
|
|
En el ejemplo se calcula el factorial de número 1000 (un número bastante grande para
calcular su factorial) de forma bastante rápida.