Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



L. Fonctions GMP

Introduction

Ces fonctions vous permettent de travailler avec des nombres de taille arbitraire, en utilisant la bibliothèque GNU MP.

Ces fonctions ont été ajoutées en PHP 4.0.4.

Note : La majorité des fonctions GMP acceptent des nombres GMP comme arguments, définis ci-dessous comme “resource”. Cependant, la plupart de ces fonctions acceptent aussi des nombres et des chaînes à partir du moment où on peut les convertir en nombre. Si une fonction utilisant les entiers est plus rapide, elle sera automatiquement appelée si les arguments fournis sont des entiers. Cela se fait de manière transparente : vous pouvez donc utiliser des entiers avec les fonctions GMP sans perte de vitesse. Voir aussi gmp_init().
Avertissement
Si vous voulez explicitement spécifier un entier de grande taille, spécifiez-le sous forme de chaîne. Si vous ne le faites pas, PHP va interpréter votre entier et le transformer en une représentation interne, qui vous fera sûrement perdre de la précision, avant même que “GMP” n’entre en jeu.
Note : Cette extension est disponible sur les plates-formes Windows depuis PHP 5.1.0.

Pré-requis

Vous pouvez télécharger GMP sur le site de http://www.swox.com/gmp/. Ce site propose aussi un manuel GMP.

Vous devez utiliser GMP 2 ou plus récent pour utiliser ces fonctions. Certaines d’entre elles peuvent requérir une version encore plus récente de GMP.

Installation

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP GMP en utilisant l’option “–with-gmp”.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution.

“GMP_ROUND_ZERO” (entier)

“GMP_ROUND_PLUSINF” (entier)

“GMP_ROUND_MINUSINF” (entier)

Exemples

Exemple 1. Factorielle avec 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";
?>

Cet exemple va calculer factorielle de 1000 (un grand nombre) très vite.

Voir aussi

D’autres fonctions mathématiques sont disponibles avec les extensions Nombres de grande taille BCMath et Mathématiques.

Table des matières

gmp_abs – Valeur absolue GMPgmp_add – Addition de 2 nombres GMPgmp_and – ET logiquegmp_clrbit – Annule un bitgmp_cmp – Compare des nombres GMPgmp_com – Calcule le complémentaire d’un nombregmp_div_q – Divisions de 2 nombres GMPgmp_div_qr – Divise deux nombres GMPgmp_div_r – Reste de la division de deux nombres GMPgmp_div – Alias de gmp_div_q()
gmp_divexact – Division exacte de nombres GMPgmp_fact – Factorielle GMPgmp_gcd – PGCDgmp_gcdext – PGCD étendugmp_hamdist – Distance de Hamminggmp_init – Crée un nombre GMPgmp_intval – Convertit un nombre GMP en entiergmp_invert – Inverse modulogmp_jacobi – Symbole de Jacobigmp_legendre – Symbole de Legendregmp_mod – Modulo GMPgmp_mul – Multiplication de 2 nombres GMPgmp_neg – Opposé de nombre GMPgmp_nextprime – Trouve le prochain nombre premiergmp_or – OU logiquegmp_perfect_square – Carré parfait GMPgmp_popcount – Compte de populationgmp_pow – Puissancegmp_powm – Puissance et modulogmp_prob_prime – Nombre GMP probablement premiergmp_random – Nombre GMP aléatoiregmp_scan0 – Recherche 0gmp_scan1 – Recherche 1gmp_setbit – Modifie un bitgmp_sign – Signe du nombre GMPgmp_sqrt – Racine carrée GMPgmp_sqrtrem – Racine carrée avec reste GMPgmp_strval – Convertit un nombre GMP en chaînegmp_sub – Soustraction de 2 nombres GMPgmp_xor – OU exclusif logique

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright