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 ?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top