Initial commit
This commit is contained in:
106
gen/fit_style.f
Normal file
106
gen/fit_style.f
Normal file
@ -0,0 +1,106 @@
|
||||
subroutine fit_style(nstyle, style)
|
||||
! -----------------------------------
|
||||
|
||||
implicit none
|
||||
include 'fit.inc'
|
||||
integer nstyle, style(*)
|
||||
|
||||
integer i,j, arg_styl
|
||||
|
||||
if (nstyle .gt. 0) then
|
||||
nstyl=nstyle
|
||||
do i=1,nstyl
|
||||
styl(i)=style(i)
|
||||
enddo
|
||||
else
|
||||
nstyl=0
|
||||
do i=1,maxset
|
||||
j=arg_styl(999)
|
||||
if (j .ne. 999) then
|
||||
styl(i)=j
|
||||
nstyl=i
|
||||
endif
|
||||
enddo
|
||||
if (nstyl .eq. 0) then
|
||||
write(isyswr,'(8(/x,a))') 'Available Styles'
|
||||
1,'Numbers: 0 1 2 3 4 5 6 7 8'
|
||||
1,'Names: none dot plus star circle X square triangle point'
|
||||
1,' '
|
||||
1,'Enter the name, number, or symbol for each dataset'
|
||||
1,'To disable error bars put a minus sign before,'
|
||||
1,'to connect points put a slash after the style name or number.'
|
||||
do i=1,min(maxset,nset)
|
||||
write(isyswr,'(a,i3,a)') '$Style for dataset',i,': '
|
||||
read(isysrd,'(a)',end=999,err=999) cmdline
|
||||
call str_trim(cmdline, cmdline, linlen)
|
||||
if (cmdline(1:linlen) .ne. ' ') then
|
||||
cmdpos=0
|
||||
j=arg_styl(999)
|
||||
if (j .ne. 999) then
|
||||
styl(i)=j
|
||||
nstyl=i
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
endif
|
||||
endif
|
||||
999 if (nstyl .eq. 0) then
|
||||
nstyl=1
|
||||
styl(1)=5
|
||||
endif
|
||||
autostyle=0
|
||||
end
|
||||
|
||||
|
||||
integer function arg_styl(idefault)
|
||||
! -----------------------------------
|
||||
|
||||
implicit none
|
||||
|
||||
include 'fit.inc'
|
||||
|
||||
integer idefault
|
||||
|
||||
integer p,l,j,lincon
|
||||
logical bars
|
||||
character*8 snam(0:8)/'NO','DOT','PLUS','STAR','CIRCLE','X'
|
||||
1,'SQUARE','DELTA','POINT'/
|
||||
|
||||
bars=.true.
|
||||
call arg_gen(p,l)
|
||||
if (cmdline(p+1:p+l) .eq. ' ') then
|
||||
arg_styl=idefault
|
||||
return
|
||||
endif
|
||||
lincon=0
|
||||
if (cmdline(p+l:p+l) .eq. '/') then
|
||||
lincon=10
|
||||
l=l-1
|
||||
endif
|
||||
if (cmdline(p+1:p+1) .eq. '-') then
|
||||
p=p+1
|
||||
l=l-1
|
||||
bars=.false.
|
||||
endif
|
||||
if (cmdline(p+1:p+1) .eq. '1'
|
||||
1 .and. cmdline(p+1:p+l) .ne. '1') then
|
||||
p=p+1
|
||||
l=l-1
|
||||
lincon=10
|
||||
endif
|
||||
l=min(l,8)
|
||||
do j=0,8
|
||||
if (cmdline(p+1:p+l) .eq. snam(j)(1:l) .or.
|
||||
1 cmdline(p+1:p+l) .eq. char(48+j)) then
|
||||
arg_styl=j+lincon
|
||||
goto 10
|
||||
endif
|
||||
enddo
|
||||
if (cmdline(p+1:p+l) .eq. ' ') then
|
||||
arg_styl=idefault
|
||||
if (arg_styl .ge. 20) return
|
||||
else
|
||||
call arg_err(0)
|
||||
endif
|
||||
10 if (.not. bars) arg_styl=-arg_styl
|
||||
end
|
Reference in New Issue
Block a user