Ich habe Programm mit implicit real*8
geschrieben. Das Programm funktioniert gut, aber sobald ich eine andere Datei eingefügt habe, die die Daten von langen und doppelten Genauigkeitsziffern enthält, waren die Ergebnisse, die ich fand, nicht geeignet. Experten und die Programmentwickler rieten mir, zu ändern. Aber es funktioniert nicht in meinem Fortran-Kraftwerk 4.0 und gibt impliziten Fehler. Wie kann man das Kraftwerk so umbauen oder aufrüsten, dass es mit oder mehr arbeiten kann?Impliziter realer Fehler
Antwort
Powerstation ist zu alt. Nicht jeder Compiler unterstützt real * 16 auch jetzt noch. Erwägen Sie, einen neuen Compiler zu erhalten. Ich schlage vor, mit gfortran zu beginnen, das Quad-Präzision sicher unterstützt.
Auch ich bin besorgt, dass mit diesen impliziten Dingen viele andere Probleme versteckt sein könnten. Berücksichtigen Sie auch die explizite Typisierung für Ihre Variablen und verwenden Sie implicit none
.
Was sind die Werte in Ihrer Datei? Integer- und Double-Precision-Gleitkommawerte? Dann scheint es sehr unwahrscheinlich, dass das Problem dadurch verursacht wird, dass Sie sie nicht in Quad-Precision-Realvariablen einlesen. Nur selten benötigen Berechnungen Quad-Präzision. Liest du die Integer-Werte in Integer-Variablen und die Floats in Fortran-Reals? Wie die anderen geschrieben haben, ist die implizite Typisierung der schlechteste Ansatz ... es ist immer noch ein Teil von Fortran, nur um Legacy-Code zu unterstützen. Es empfiehlt sich, "implizite None" zu verwenden und alle Ihre Variablen explizit einzugeben. Dadurch kann der Compiler Fehler wie Tippfehler in Variablennamen abfangen. Weitere Informationen zur Variablen-Typisierung finden Sie unter Fortran: integer*4 vs integer(4) vs integer(kind=4) und Extended double precision
- 1. Fehler bei impliziter Auflösung?
- 2. Realer Teil der komplexen Zahl?
- 3. XMLStreamReader und ein realer Stream
- 4. Realer Binärblock in XML (C++)?
- 5. Correctness impliziter
- 6. Impliziter Operator?
- 7. impliziter Operator mit Schnittstellen
- 8. Impliziter und expliziter Ausnahmeunterschied
- 9. DynamicObject impliziter Casting
- 10. Einschränkungen bei impliziter Typisierung
- 11. Impliziter Programmierstil mit F #
- 12. Impliziter Wrap von Java Null
- 13. Apache Neuschreiben mit impliziter Umleitung
- 14. Perl6: impliziter und expliziter Import
- 15. typesafe enum und impliziter Operator
- 16. Impliziter Konstruktor im Gegensatz zu "leerem" Konstruktor
- 17. ScalaJson impliziter Schreibvorgang, gefunden: Beliebig erforderlich: play.api.libs.json.Json.JsValueWrapper
- 18. Impliziter ExecutionContext an enthaltene Objekte/Methoden übergeben
- 19. Gesamt Bytes erhalten durch Socket ist anders mit realer Dateigröße
- 20. Unterschied zwischen Konvertierung mit impliziter Funktion und impliziter Klasse in Scala
- 21. Expliziter vs impliziter Aufruf von toString
- 22. Strings und ints, impliziter und expliziter
- 23. C#: Benutzerdefinierter impliziter Cast-Operator fehlgeschlagen
- 24. Iterieren über Modul Exporte mit impliziter jedem
- 25. Chrome 50 Änderung des Verhaltens impliziter Tabellenzellenhöhe
- 26. Verwendung impliziter Objekte innerhalb von Klassen
- 27. Problem mit impliziter Umwandlung und null
- 28. TensorFlow: Impliziter Broadcast in elementweiser Addition/Multiplikation
- 29. Kopierinitialisierung mit impliziter Konvertierung in C++
- 30. Ein impliziter Versuch {} catch around main
Fortag, da ich glaube, dass das nichts mit Java zu tun hat. Lass es mich wissen, wenn ich mich irre. –
Kein 'Experte' riet Ihnen, 'implizite Real *' zu verwenden. –