Manuale PHP
Indietro |  | Avanti

# XLVI. Funzioni GMP

# Introduzione

Queste funzioni permettono di lavorare con numeri interi di lunghezza arbitraria usando le librerie GNU MP.

Queste funzioni sono state aggiunte in PHP 4.0.4.

> Nota: Molte funzioni accettano argomenti numerici GMP, definiti come risorsepiù in basso. Comunque, molte di queste funzioni accetteranno anche normali argomenti numerici e stringhe, considerato ciò è quindi possibile convertire queste ultime in numero. Inoltre, se c'è una funzione che può operare velocemente su argomenti interi, questa potrebbe essere usata al posto della più lenta quando l'argomento fornito è un intero. Questo è fatto con chiarezza, così la logica vuole che tu possa utilizzare numeri interi in ogni funzione che richieda un numero GMP. Vedere anche la funzione gmp_init().

Avvertimento
Se desideri specificare un "large integer" come costante, scrivilo tra virgolette come stringa. Se non lo fai, PHP interpreterà l'"integer literal" immediatamente, con una possibile perdita di precisione, ancora prima che la libreria GMP venga richiamata.

> Nota: Questo modulo non è disponibile su piattaforme Windows.

# Requisiti

Puoi scaricare la libreria GMP dal sito http://www.swox.com/gmp/. Dove è possibile anche scaricare il manuale GMP.

Per usare queste funzioni è necessaria la versione 2 o superiore delle librerie GMP.

# Installazione

Per potere utilizzare queste funzioni, occorre compilare il PHP con il supporto GMP utilizzando il parametro --with-gmp.

# Configurazione di Runtime

Questa estensione non definisce alcuna direttiva di configurazione in `php.ini`

# Tipi di risorse

Questa estensione non definisce alcun tipo di risorsa.

# Costanti predefinite

Queste costanti sono definite da questa estensione e sono disponibili solo se l'estensione è stata compilata nel PHP o se è stata caricata dinamicamente a runtime.

`GMP_ROUND_ZERO` (integer)

`GMP_ROUND_PLUSINF` (integer)

`GMP_ROUND_MINUSINF` (integer)

# Esempi

Esempio 1. Funzione fattoriale 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"; ?>`

Questo calcolerà il fattoriale di 1000 (numero abbastanza grande) molto velocemente.

# Vedere anche:

Ulteriori funzioni matematiche sono elencate nelle sezioni BCMath Funzione Matematiche a Precisione Arbitraria e Funzioni Matematiche.

Indietro | Partenza | Avanti
textdomain | Risali | gmp_abs