italoc回りにも鼠取りを仕掛けてみました
--- DEBUG patch ---
--- src/italoc.f.orig Fri Nov 18 11:45:44 2005
+++ src/italoc.f Fri Nov 18 14:03:25 2005
@@ -3,6 +3,26 @@
implicit none
include 'inc/TFCBK.inc'
include 'inc/TFMEM.inc'
+ integer*4 n,italoc0
+ italoc=italoc0(n)
+ write(*,*)'italoc: ia=',italoc,' n=',n,' nnet=',nnet
+ return
+ end
+
+ integer*4 function italoca(n)
+ implicit none
+ include 'inc/TFCBK.inc'
+ include 'inc/TFMEM.inc'
+ integer*4 n,italoca0
+ italoca=italoca0(n)
+ write(*,*)'italoca: ia=',italoca,' n=',n,' nnet=',nnet
+ return
+ end
+
+ integer*4 function italoc0(n)
+ implicit none
+ include 'inc/TFCBK.inc'
+ include 'inc/TFMEM.inc'
integer*4 n,m,ic1,i,n1,ic,m1,ip0,ip,ip1,ic2
n1=max(n,3)
m=n1+1
@@ -26,7 +46,7 @@
endif
ilist(1,ic-1)=m
nnet=nnet+m
- italoc=ic
+ italoc0=ic
return
endif
ic1=i+min(m,12)
@@ -52,7 +72,7 @@
call tsetindexhash1(ic+m,i-icp-m+1)
ilist(1,ic-1)=m
nnet=nnet+m
- italoc=ic
+ italoc0=ic
return
endif
enddo
@@ -81,7 +101,7 @@
else
maxic=i
endif
- italoc=ic
+ italoc0=ic
return
endif
enddo
@@ -109,7 +129,7 @@
endif
ilist(1,ip-1)=m
nnet=nnet+m
- italoc=ip
+ italoc0=ip
return
elseif(m1 .ge. m+4)then
ilist(2,ilist(1,ip))=ilist(2,ip)
@@ -129,7 +149,7 @@
call tsetindexhash(ip+m,m1-m)
ilist(1,ip-1)=m
nnet=nnet+m
- italoc=ip
+ italoc0=ip
return
endif
ip=ilist(1,ip)
@@ -138,11 +158,11 @@
if(ip1 .gt. 0)then
go to 1000
endif
- italoc=-1
+ italoc0=-1
return
end
- integer*4 function italoca(n)
+ integer*4 function italoca0(n)
implicit none
include 'inc/TFCBK.inc'
include 'inc/TFMEM.inc'
@@ -170,7 +190,7 @@
endif
ilist(1,ic-1)=i-i+m
nnet=nnet+ilist(1,ic-1)
- italoca=ic
+ italoca0=ic
return
endif
ii=i+1
@@ -192,7 +212,7 @@
endif
ilist(1,ic-1)=ii-i+m
nnet=nnet+ilist(1,ic-1)
- italoca=ic
+ italoca0=ic
return
endif
ii=ii+1
@@ -214,7 +234,7 @@
endif
ilist(1,ic-1)=ii-i+m
nnet=nnet+ilist(1,ic-1)
- italoca=ic
+ italoca0=ic
return
endif
ii=ii+1
@@ -236,7 +256,7 @@
endif
ilist(1,ic-1)=ii-i+m
nnet=nnet+ilist(1,ic-1)
- italoca=ic
+ italoca0=ic
return
endif
endif
@@ -263,7 +283,7 @@
call tsetindexhash1(ic+m,i-icp-m+1)
ilist(1,ic-1)=m
nnet=nnet+m
- italoca=ic
+ italoca0=ic
return
endif
enddo
@@ -292,7 +312,7 @@
else
maxic=i
endif
- italoca=ic
+ italoca0=ic
return
endif
enddo
@@ -320,7 +340,7 @@
endif
ilist(1,ip-1)=m
nnet=nnet+m
- italoca=ip
+ italoca0=ip
return
elseif(m1 .ge. m+4)then
ilist(2,ilist(1,ip))=ilist(2,ip)
@@ -340,7 +360,7 @@
call tsetindexhash(ip+m,m1-m)
ilist(1,ip-1)=m
nnet=nnet+m
- italoca=ip
+ italoca0=ip
return
endif
ip=ilist(1,ip)
@@ -349,7 +369,7 @@
if(ip1 .gt. 0)then
go to 1000
endif
- italoca=-1
+ italoca0=-1
return
end
--- DEBUG patch ---