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 "?

È stato utile?

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 :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top