Bonjour à tous,
Voilà je suis la victime d'un bug curieux. Mais avant de me lancer dans les explications, voici mon code où le problème survient:
HorlogeVar (real(8)) représente le temps qui s'incrémente de 0.2 en 0.2, recherchePresence et presence sont des tableaux de real(8) allocatable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part where(presence(1,:).eq.horlogeVar)recherchePresence(:)=presence(0,:)
presence(1,: ) contient tous les pas de temps possibles [0,0.2,0.4,0.4...]. Mon problème provient de la condition dans le where, tout fonctionne pour les premiers pas de temps, mais à partir de horlogeVar = 1.2 la condition n'est jamais respecté...
J'ai alors testé ce code:
et à l'écran j'obtient 1.20000000 1.20000000 mais pas de ok?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 write(*,*)presence(1,6),' ',horlogeVar if(presence(1,6).eq.horlogeVar) then write(*,*)'ok' endif
Ma condition devrait être respectée pourtant, non? Puisque 1.200000=1.200000 en toute logique...
Quelqu'un aurait-il une idée d'où peut venir le problème? Je suis à l'écoute de toute les suggestions...
Encore merci de vous être penchés sur mon problème,
@+.
Partager