Cos'è la parola riservata / variabile ACCY di Fortran?
-
03-07-2019 - |
Domanda
Stavo cercando di esaminare un codice FORTRAN molto vecchio e mi sono imbattuto nella seguente dichiarazione:
IF (XKJ.GT.ACCY) THEN
Ho controllato l'intero codice e non ho trovato una dichiarazione per " ACCY ". Suppongo che sia una variabile / costante / funzione incorporata, ma non sono riuscito a trovare la definizione. L'ho cercato su Google e ho trovato altri campioni FORTRAN con espressioni simili (ma nessuna definizione di ACCY).
Sono passati 20 anni da quando ho visto il codice FORTRAN. Qualcuno ha idea di cosa sia " ACCY "?
Soluzione
È senza dubbio una variabile con un'accuratezza di "accuratezza" utilizzato per misurare i calcoli in virgola mobile - che possono andare alla deriva a causa della rappresentazione inesatta di alcuni numeri in virgola mobile. In Fortran le variabili non devono essere dichiarate a meno che non si usi un'opzione del compilatore (o istruzione IMPLICIT) per attivare questa funzione. Le variabili che iniziano con A-H e O-Z vengono automaticamente considerate variabili REALI (I-N sono numeri interi). Il compilatore in questione può azzerare o meno la memoria per la variabile, quindi a meno che non sia assegnato da qualche parte - in genere un blocco COMMON - potrebbe essere zero o un valore arbitrario.
Altri suggerimenti
Tecnicamente, non ci sono parole chiave / riservate in Fortran. sebbene la definizione di una parola chiave come identificatore rende le cose molto confuse. Mi sembra / sembra che sia definita la sua implicità e questo è il suo primo utilizzo in cui ACCY sarebbe 0.
La subroutine in cui è definito questo frammento di codice ha IMPLICIT NONE ? in caso contrario, accenderlo e vedere se il compilatore contrassegna ACCY come non definito. Se è contrassegnato, saprai perché non riesci a trovarlo altrove :)