Subject | : Re: SAD on Sun Fortran 95 8.1 |
Date | : 2005/11/18(Fri) 14:14:10 |
Contributor | : Akio Morita |
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 ---