¿Qué es la palabra reservada Fortran / variable ACCY?
-
03-07-2019 - |
Pregunta
Estaba intentando revisar un código FORTRAN muy antiguo y encontré la siguiente declaración:
IF (XKJ.GT.ACCY) THEN
Revisé todo el código y no encontré una declaración para " ACCY ". Supongo que es una variable / constante / función incorporada, pero no pude encontrar la definición. Lo busqué en Google y encontré otras muestras de FORTRAN con expresiones similares (pero sin definición de ACCY).
Hace 20 años que miro el código FORTRAN. ¿Alguien tiene alguna idea de lo que es " ACCY ?
Solución
Sin duda, es una variable que tiene una "precisión". se usa para medir cálculos de coma flotante, que pueden derivar debido a la representación inexacta de algunos números de coma flotante. En Fortran, las variables no tienen que declararse a menos que use una opción de compilador (o una declaración IMPLICIT) para activar esta función. Las variables que comienzan con A-H y O-Z se consideran automáticamente como variables REAL (I-N son enteros). El compilador en cuestión puede o no poner a cero la memoria para la variable, por lo que, a menos que se asigne en algún lugar, generalmente un bloque COMÚN, puede ser cero o algún valor arbitrario.
Otros consejos
Técnicamente, no hay reservados / palabras clave en Fortran. aunque definir una palabra clave como un identificador hace que las cosas sean muy confusas. Suena / me parece que se está definiendo la implicación y este es su primer uso en el que ACCY sería 0.
¿La subrutina en la que se define este fragmento de código tiene IMPLICIT NONE ? si no, enciéndalo y vea si el compilador marca ACCY como no definido. Si está marcado, sabrá por qué no pudo encontrarlo en otro lugar :)