با سلام خدمت دوستان
من شروع به یادگیری فرترن کردم ولی احساس می کنم gfortran در محاسبات اشتباه می کند مثلا ساده ترین محاسبه مانند sin(30.1)
program test
implicit none
real a
real(16) b
a = 30.1
b = 30.1
print*, sin(a), sin(b)
end program test
بعد از کامپایل کردن با gfortran و نتیجه:
[samad@localhost test]$ gfortran test1.f95 -o test1 && ./test1
-0.967696011 -0.967696035957813552903034493563998654
حالا بیاید با ماشین حساب یا برنامه libreoffice cal سینوس ۳۰/۱ را محاسبه کنیم. نتیجه
-0.967696132133805
مشخص است که از رقم ۷ به بعد کاملا متفاوت است یعنی gfortran اشتباه محاسبه می کند؟!