Forum und email

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().

Aviso

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 esta disponível na plataforma Windows desde PHP 5.1.0.

Dependências

Você pode copiar a biblioteca GMP a partir de » https://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

A maioria das funções GPM opera ou retorna recurso de número GMP.

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)
GMP_VERSION (string)
A versão da biblioteca GMP

Exemplos

Example#1 Função de fatorial usando GMP

<?php
function fact ($x
{
    
$return 1;
    for (
$i=2$i $x$i++) {
        
$return gmp_mul($return$i);
    }
    return 
$return;
}
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.

Índice