Bonjour Jeroman,
Envoyé par
jeroman
Si la traduction "manuelle" provoque des incohérences dans le résultat, c'est que le code a mal été codé, qu'il y a des coquilles par endroits voire des bouts de code non portables pouvant avoir un comportement hasardeux. Un code C bien codé doit logiquement donner les mêmes résultats que le code Fortran.
Oui, hélas... ce n'est pas moi qui l'ai codé à la base. J'ai trouvé certaines coquilles dans le travail de mes prédécesseurs mais manifestement je ne suis pas parvenu à toutes les localiser car il subsiste toujours une erreur significative, bien que sensiblement réduite...
Envoyé par
jeroman
Ton code Fortran est-il long ? Les forumeurs peuvent toujours t'aider à le transformer en C (dans la mesure du possible).
Il est me semble-t-il assez long, enfin je me représente pas vraiment...
En fait si certains ont la gentillesse d'essayer de m'aider, vous pouvez le trouver en téléchargement sur ce lien :
http://www.itu.int/oth/R0A04000018/en
Il y a un dossier nommé "R0A040000180001ZIPE" à décompresser une fois téléchargé.
Je me sers des deux fichiers sources :
NeQuick_ITUR.for slQu.for
Tous les fichiers à l'extension .asc et .dat sont utilisés lors de la compilation, à l'exception de slQu.dat qui est le fichier de sortie, avec ces fameux résultats qui doivent être identiques de Fortran vers C.
A ce propos, je crois qu'il y a un problème de casse, enfin moi je l'ai rencontré, c'est-à-dire qu'on obtient un dossier "R0A040000180001ZIPE" avec des noms de fichiers écrits par défaut en majuscules alors que ça ne compile qu'en minuscules... y compris pour les noms d'extension (c'est un peu fastidieux à changer, j'en suis désolé. )
Bref, les deux fichiers sources que j'ai indiqués plus haut, c'est ceux que je souhaite compiler en Fortran, ce sont donc les deux que je convertis via F2C. Et cela marche très bien sous Ubuntu.
J'espère ne pas être trop embrouillé dans mes explications.
En tout cas, merci beaucoup par avance à qui s'attaquera à cette conversion de code, même s'il n'aboutit pas à quelque chose de concluant.
Partager