XXXVII. Funzioni GMP
Queste funzioni permettono di lavorare con numeri interi
di lunghezza arbitraria usando le librerie GNU MP. In pratica per poter usufruire di
queste funzioni, bisogna installare il supporto
GMP usando la seguente opzione --with-gmp.
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.
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.
|
Esempio 1. Funzione fattoriale 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"; ?>
|
|
Questo calcolerà il fattoriale di 1000 (numero abbastanza grande)
molto velocemente.