Ihre Aufgabe ist schwierig. Sie müssen Fortran wirklich gut kennen. Sie müssen darauf achten, wie ähnlich / unterschiedlich Fortran Berechnungen durchführt und welche Regeln für das Abschneiden und Runden gelten. Sie müssen auch vorsichtig mit den primitiven Typen sein, die in C # und Fortran eine Bedeutung haben.
Ein anderer Ansatz aus dem, was vorgeschlagen wurde (nicht unbedingt ein besserer, es ist nur ein anderer):
A - Erwägen Sie, den Code in C # basierend auf den Geschäftskenntnissen und der Funktion neu zu schreiben. Verwenden Sie den Fortran-Code lediglich als Referenz
B -Betrachten Sie die Verwendung eines kommerziellen Tools, das die Konvertierungsaufgabe erledigt - Beispiel: DataTek
Wenn die Routine eine Standardfunktion oder eine Funktion darstellt, für die Sie eine fertige DLL kaufen können (z. B. numerische Integration), verwenden Sie die Standardfunktion oder das kommerzielle Produkt anstelle der manuellen Übersetzung, und Ihr Problem ist gelöst.
Wenn dies nicht der Fall ist, beantworten Sie diese Frage:
Muss ich den Code optimieren oder einfach zum Laufen bringen? Mit anderen Worten, wie hoch ist der geschäftliche Wert von 500 Stunden, um den Code zu verbessern?
Wenn die Optimierung keinen Wert hat, übersetzen Sie den Code zeilenweise, und Sie sind fertig.
Wenn dies immer noch nicht gut ist, dann:
0-Konvertieren Sie den Fortran-Code zeilenweise in C # (oder verwenden Sie Fortan CLR)
1-Machen Sie einen Schnelltest, um sicherzustellen, dass er ausgeführt wird
2-Verwenden Sie ein Re-Factoring (es stehen kommerzielle Tools zur Verfügung), um den Code auf optimierte Weise zu schreiben.
Viel Glück.