Manual do PHP
Anterior |  | Próxima

# XLII. GMP

# 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.

# Dependências

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ções em 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 pré-definidas

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.

`GMP_ROUND_ZERO` (integer)

`GMP_ROUND_PLUSINF` (integer)

`GMP_ROUND_MINUSINF` (integer)

# 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)); } } echo gmp_strval(fact(1000)) . "\n"; ?>`

Esta irá calcular o fatorial de 1000 (um número grande) muito rapidamente.

# Veja também

Mais funções matemáticas podem ser encontradas nas seções BCMath Funções Matemáticas de Precisão Arbitrária and Matemática e Trigonometria.

Anterior | Principal | Próxima
textdomain | Acima | gmp_abs