我是Fortran的新手,一般編碼,所以如果我的術語不正確,我很抱歉。IEEE_UNDERFLOW_FLAG IEEE_DENORMAL Fortran 77
我正在使用gfortran編譯器的Linux機器。
我在做這個夏天的研究,這涉及到我得到一個寫於1980年左右的程序再次工作。它是用Fortran 77編寫的。我擁有所有的代碼以及一些關於它的文檔。
以目前的形式,我收到「IEEE_UNDERFLOW_FLAG IEEE_DENORMAL」錯誤。我的第一個想法是,這個代碼是爲了在不同的環境/架構下開發的。
該文檔聲明「此程序旨在運行在HARRIS計算機系統上。如果在主代碼和子程序包中單精度變量變爲雙精度變量,它也可以在VAX系統上運行。「
我試過將單精度變量更改爲雙精度變量,但我可能做錯了。如果這是正確的做法,任何見解都會很棒。
我也試着用-std = legacy和-m32編譯編碼。我也收到同樣的錯誤。
任何意見,讓我走在正確的方向將不勝感激。
低於正常水平的產量可能是預期的。這不代表您在選擇構建過程時遇到問題。 – tim18
有關切換到雙精度的說明可能很重要,因爲ieee754 single的屬性可能並不比vax好。 – tim18
Gfortran有自動替換單人的選項。如果考慮到這一點,你應該閱讀文檔。 – tim18