Does this code above work? It complains about scale and does not work.
Other users' respond appreciated as Paul's version of compiler could be further advanced and I suspect that here is no syntax error. My DLLs are dated Dec 7
UPDATE
OK, I found the bug. The 64bit version seems does not understand upper case STYLE=LOG_LOG or STYLE=LOG_LINEAR and needs them in lower case.
Paul will mark this while we made one more small step forward.
It is absurd amount of time to lose if you are early adopter. But if Silverfrost had large base of Examples which I'm advocating to extend for two decades (I learned this compiler on existing examples mostly done for FTN77) and automatic compiler validation on these examples this bug would be found in no time...
Now new problems. Please run this code which will read this data file A.DAT.
X range in the data is between 12 and 22. Y from 0.13 to 26
Run it with scale=log_log, scale=linear_log and scale=linear.
Is everything OK?
file A.DAT
1.20408E+01, 8.00000E+00
1.21958E+01, 8.55172E+00
1.23589E+01, 1.11724E+01
1.52626E+01, 1.44828E+01
1.59070E+01, 1.29655E+01
1.62659E+01, 1.22759E+01
1.63719E+01, 1.16414E+01
1.94388E+01, 2.62069E+01
1.94470E+01, 2.16782E+01
2.19592E+01, 1.37931E-01
2.19674E+01, 3.67816E-01
Fortran source:
USE clrwin
integer, parameter :: n_dim = 1153
real*8 xstart, X(n_dim), Y(n_dim)
OPEN (UNIT=275,FILE='A.dat',STATUS='old',err=990)
do i=1,10000
if(i.gt.n_dim) goto 100
read(275,*,err=995,end=100) X(i), Y(i)
enddo
100 close(275)
n_points=i-1
xstart=0 ! X(1)
i=winio@('%ww[no_border]%es%ca[Default Plot]%pv&')
i=winio@('%fn[Tahoma]&')
i=winio@('%ts&', 3.1d0)
i=winio@('%tc&',rgb@(0,0,0))
i=winio@('%bf&')
i=winio@('%`bg&',rgb@(250,255,255))
CALL winop@('%pl[SCALE=log_log]')
CALL winop@('%pl[x_array]')
CALL winop@('%pl[n_graphs=1]')
CALL winop@('%pl[title='Sample plot']')
CALL winop@('%pl[x_axis=Wavelength A]')
CALL winop@('%pl[y_axis=Intensity@(4.0)]')
CALL winop@('%pl[width=3]')
CALL winop@('%pl[Y_max=200.]')
CALL winop@('%pl[smoothing=4]') ! anti-aliasing
CALL winop@('%pl[colour=black]')
CALL winop@('%pl[style=0,pen_style=0]')
i=winio@('%pl',1502,880,n_points,x,y)
goto 10000
!................. errors ......................
990 Print*, 'Error opening file A.dat for read'
goto 10000
995 Print*, 'Error reading file A.dat'
goto 10000
10000 continue
end