Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

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


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)