IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

[GMP] à propos de DivideAndRemainder() et GMPlib


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut [GMP] à propos de DivideAndRemainder() et GMPlib
    Bonjour,

    Le langage Java fourni une gestion des grands nombres, et notamment la méthode DivideAndRemainder() qui calcul le diviseur et le reste.

    Je souhaite obtenir le même résultat avec la librairie GMP (http://libgmp.org) mais je ne trouve pas comment faire ...

    Pour obtenir le reste je pense qu'il suffit d'utiliser la fonction mpz_mod() qui calcule le modulo.
    Par contre la librairie GMP propose plusieurs fonctions pour la division, et je ne sais pas laquelle utiliser.

    * cdiv rounds q up towards +infinity, and r will have the opposite sign to d. The c stands for “ceil”.
    * fdiv rounds q down towards −infinity, and r will have the same sign as d. The f stands for “floor”.
    * tdiv rounds q towards zero, and r will have the same sign as n. The t stands for “truncate”.

    Avez vous une idée ?
    Merci d'avance
    Cyrille

  2. #2
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut
    Voilà, J'ai eu la réponse sur la liste de la lib GMP.

    c'est tout simplement la méthode : mpz_tdiv_qr

    En passant, voici le code en .Net C++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cli::array<BigInteger^>^ BigInteger::DivideAndRemainder(BigInteger^ op)
    {
    	BigInteger^ q = gcnew BigInteger();
    	BigInteger^ r = gcnew BigInteger();
    	GMP::mpz_tdiv_qr( OTHER_MPZ(q), OTHER_MPZ(r), THIS_MPZ, OTHER_MPZ(op));
    	cli::array<BigInteger^>^ res = gcnew cli::array<BigInteger^>(2) ;
    	res[0] = q ;
    	res[1] = r ;
    	return res ;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. à propos de la librairie gmp....
    Par othland dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 04/03/2006, 16h03
  2. A propos depth buffer
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 00h41
  3. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22
  4. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10
  5. A propos du composant DBGrid
    Par _Rico_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/07/2002, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo