Что такое зарезервированное слово / переменная ACCY на Фортране?

StackOverflow https://stackoverflow.com/questions/811469

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытался просмотреть какой-то очень старый код FORTRAN и наткнулся на следующее утверждение:

IF (XKJ.GT.ACCY) THEN

Я просмотрел весь код и не нашел объявления для ACCY . Я предполагаю, что это встроенная переменная / константа / функция, но не смог найти определение. Я «погуглил» его и наткнулся на другие образцы FORTRAN с похожими выражениями (но без определения ACCY).

Прошло 20 лет с тех пор, как я посмотрел код FORTRAN. Кто-нибудь знает, что такое ACCY ?

Это было полезно?

Решение

Это, несомненно, переменная, в которой хранится " точность " используется для измерения вычислений с плавающей запятой - которые могут дрейфовать из-за неточного представления некоторых чисел с плавающей запятой. В Fortran переменные не должны объявляться, если вы не используете опцию компилятора (или оператор IMPLICIT), чтобы включить эту функцию. Переменные, которые начинаются с A-H и O-Z, автоматически учитывают РЕАЛЬНЫЕ переменные (I-N - целые числа). Рассматриваемый компилятор может обнулять или не обнулять память для переменной, поэтому, если она не где-то назначена - обычно это ОБЩИЙ блок - это может быть ноль или какое-то произвольное значение.

Другие советы

Технически, в Fortran нет зарезервированных ключевых слов. хотя определение ключевого слова в качестве идентификатора делает вещи очень запутанными. Это звучит / выглядит для меня так, как будто это определенная простота, и это его первое использование, при котором ACCY будет равно 0.

Определена ли подпрограмма, в которой определен этот фрагмент кода, IMPLICIT NONE ? если нет, включите его и посмотрите, не помечает ли компилятор ACCY как не определенный. Если он помечен, вы поймете, почему не можете найти его здесь :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top