Hi,
I need some help please. Well I'm writing because I have a problem with the precision when I realize some simple operation or when I read some value from a file. For example in some file I must read 0.3, but Fortran reads 0.29999999999999999, that it is very close to 0.3, but it is not 0.3. On the other hand when I multiplied the same number in two different codes, I obtain different result; the unique difference is that in one code I use 1.1d0 and in the other I use 1.1. I'm working with double precision, and these problem are causing me error in my results. Then I show two codes that show the difference in accuracy (both have equal input values).
CODE Version 1:
DO j = 1,cp
jj = cl(j,i)
xx = p(jj)%x
yy = p(jj)%y
dx = xx - x
dy = yy - y
dd = DSQRT(dx**2.0d0+dy**2.0d0)
IF (dd > dmax) dmax = dd
END DO
beta = 1.1d0*dmax
CODE Version 2.
DO J=1,NPUNTOS(INOD)
DX=X(CL(J,INOD))-XS
DY=Y(CL(J,INOD))-YS
DIS=SQRT(DX**2+DY**2)
IF (dmax(inod).LT.DIS) dmax(inod)=DIS
END DO
BETA=dmax(inod)*1.1
Sorry for my english. and thank you in advance.
Regards.
Felipe.