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

Fortran Discussion :

troncature 32bits et 64 bits


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    ingénieur
    Inscrit en
    Novembre 2011
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Novembre 2011
    Messages : 165
    Par défaut troncature 32bits et 64 bits
    bonjour,

    J'ai un programme fortran que je compile en 64 bits et dont je veux comparer les sorties au même programme compilé en 32 bits sur une autre plateforme.

    Dans ce programme, j'affiche des réels.

    en 32 bits il va m'afficher par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    trucmachin =    1.33611
    alors qu'en 64 j'aurai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    trucmachin =    1.3361089538931
    J'aimerais avoir la même troncature: vous connaitriez des options de compilation qui permettraient de faire ça (une vraie jungle je m'y perd un peu dans ces options de compilation!?

    nb: en 32 bits c'est compilé sous SunOS et en 64 sous Linux RedHat.

    avec comme compilateur sunstudio version 12u1

    merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Je ne suis pas un expert du contrôle de précision, mais...

    Je ne pense pas que ton problème découle du fait que tu compile en 32 bits ou en 64 bits. Il découle du fait que tes real par défaut sont en 32 bits ou en 64 bits et non que le code est en 32 ou 64.

    Il y a 2 stratégies pour résoudre :
    1. Tu définis partout partout la précision requise avec les kinds, incluant les constantes.
    2. Tu trouves les switches de compilateur permettant de définir la précision par défaut.

    Pour la première solution, tu peux utiliser real (4) ou real (8), ou le plus contrôlé :

    integer, parameter :: rk = selected_real_kind(...)
    ...
    real (rk) :: a,b,c
    ...
    a = 123.456789_rk
    ...

Discussions similaires

  1. [WS 2008] Win Serveur 2008 32bit vers 64 bit
    Par kissofdragon dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 03/06/2011, 16h05
  2. os virtuel 64 bits sur hote 32bits
    Par loustalet dans le forum VirtualBox
    Réponses: 2
    Dernier message: 13/01/2010, 17h55
  3. forms 32bits - IAS sous 64 bits
    Par medbouh dans le forum Forms
    Réponses: 2
    Dernier message: 03/11/2009, 14h44
  4. Réponses: 2
    Dernier message: 30/05/2008, 16h06
  5. Oracle 8.1.7.3 32bits sur Aix 5.2 64 bits
    Par MichelGarcia dans le forum Oracle
    Réponses: 3
    Dernier message: 18/10/2006, 12h23

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