Introdução
Estas funções permitem a você trabalhar com inteiros de tamanho arbritário
usando a biblioteca GNU MP.
Estas funções foram adicionadas no PHP 4.0.4.
Nota:
A maioria das funções GMP aceitam números GMP comoargumentos, definidos
como resource abaixo. Entretanto, a maioria destas
funções também aceitam argumentos númericos e strings, dado que é possível
converter posteriormente para um número. Também, caso houver uma
função mais rápida que possa trabalhar com números inteiros, ela
será usada ao invés de uma função mais lenta quando os argumentos forem inteiros.
Isto é feito de forma transparente, em resumo, você poderá usar
inteiros em qualquer função que espere um número GMP.
Veja também a função gmp_init().
| Atenção |
Se você quiser explicitamente especificar um número inteiro largo,
especifique-o como uma string. Se você não fizer isto, o PHP
irá interpretar a literal inteira primeiro, possivelmente resultando em
perca de precisão, mesmo antes de começar a utilizar o GMP.
|
Nota: Esta extensão não está
disponível na plataforma Windows.
Requisitos
Você pode copiar a biblioteca GMP a partir de http://www.swox.com/gmp/. Este site também tem o manual
GMP disponível.
Você vai precisar do GMP versão 2 ou posterior para usar estas funções. Algumas
destas funções podem querer uma versão mais recente da biblioteca GMP.
Instalação
Para ter estas funções disponíveis, você deve compilar o PHP com suporte a
GMP usando a opção de configuração --with-gmp.
Configuração durante execução
Esta extensão não define nenhum parâmetro de configuração no php.ini.
Tipos Resource
Esta extensão não possui nenhum tipo resource.
Constantes Predefinidas
As contantes abaixo são definidas por esta extensão e somente
estarão disponíveis quando a extensão foi compilada com o PHP
ou carregada dinamicamente durante a execução.
Exemplos
Exemplo 1. Função de fatorial usando GMP
<?php function fact ($x) { if ($x <= 1) return 1; else return gmp_mul ($x, fact ($x-1)); }
print gmp_strval (fact (1000)) . "\n"; ?>
|
|
Esta irá calcular o fatorial de 1000 (um número grande)
muito rapidamente.