Revert "Remove a dead function (termf)" 69/10569/2
Vincent COUVERT [Thu, 21 Feb 2013 22:29:13 +0000 (23:29 +0100)]
This reverts commit 48fcba919ef32a3ce0c83cb552b0809be2ac46b4

Used in symbolic module.

scilab/modules/core/Makefile.am
scilab/modules/core/Makefile.in
scilab/modules/core/src/fortran/core_f.vfproj
scilab/modules/core/src/fortran/core_f2c.vcxproj
scilab/modules/core/src/fortran/core_f2c.vcxproj.filters
scilab/modules/core/src/fortran/elementary_functions_f.vfproj
scilab/modules/core/src/fortran/termf.f [new file with mode: 0644]

index 0af6c82..0f0c667 100644 (file)
@@ -185,6 +185,7 @@ src/fortran/seteol.f \
 src/fortran/basin.f \
 src/fortran/clause.f \
 src/fortran/compcl.f \
+src/fortran/termf.f \
 src/fortran/expsum.f \
 src/fortran/copyvar.f \
 src/fortran/putid.f \
index dd4f3d7..5c14b7a 100644 (file)
@@ -213,11 +213,11 @@ am__libscicore_algo_la_SOURCES_DIST = src/c/inffic.c src/c/cs2st.c \
        src/fortran/storeglobal.f src/fortran/lst2vars.f \
        src/fortran/basnms.f src/fortran/ptrback.f src/fortran/getch.f \
        src/fortran/ftob.f src/fortran/seteol.f src/fortran/basin.f \
-       src/fortran/clause.f src/fortran/compcl.f src/fortran/expsum.f \
-       src/fortran/copyvar.f src/fortran/putid.f src/fortran/itosci.f \
-       src/fortran/stackr2d.f src/fortran/stacki2d.f \
-       src/fortran/stackc2i.f src/fortran/isinstring.f \
-       src/fortran/relocstack.f
+       src/fortran/clause.f src/fortran/compcl.f src/fortran/termf.f \
+       src/fortran/expsum.f src/fortran/copyvar.f src/fortran/putid.f \
+       src/fortran/itosci.f src/fortran/stackr2d.f \
+       src/fortran/stacki2d.f src/fortran/stackc2i.f \
+       src/fortran/isinstring.f src/fortran/relocstack.f
 @USE_DYNAMIC_STACK_TRUE@am__objects_1 =  \
 @USE_DYNAMIC_STACK_TRUE@       libscicore_algo_la-scimem64.lo
 am__objects_2 = libscicore_algo_la-inffic.lo \
@@ -308,9 +308,9 @@ am__objects_5 = clunit.lo getlin.lo allowptr.lo isany.lo hmcreate.lo \
        inisci.lo ptover.lo getfunction.lo stackp.lo dbasin.lo \
        macro.lo extlarg.lo getstr.lo cvwm.lo storeglobal.lo \
        lst2vars.lo basnms.lo ptrback.lo getch.lo ftob.lo seteol.lo \
-       basin.lo clause.lo compcl.lo expsum.lo copyvar.lo putid.lo \
-       itosci.lo stackr2d.lo stacki2d.lo stackc2i.lo isinstring.lo \
-       $(am__objects_4)
+       basin.lo clause.lo compcl.lo termf.lo expsum.lo copyvar.lo \
+       putid.lo itosci.lo stackr2d.lo stacki2d.lo stackc2i.lo \
+       isinstring.lo $(am__objects_4)
 am_libscicore_algo_la_OBJECTS = $(am__objects_2) $(am__objects_3) \
        $(am__objects_5)
 libscicore_algo_la_OBJECTS = $(am_libscicore_algo_la_OBJECTS)
@@ -727,11 +727,11 @@ CORE_FORTRAN_SOURCES = src/fortran/clunit.f src/fortran/getlin.f \
        src/fortran/storeglobal.f src/fortran/lst2vars.f \
        src/fortran/basnms.f src/fortran/ptrback.f src/fortran/getch.f \
        src/fortran/ftob.f src/fortran/seteol.f src/fortran/basin.f \
-       src/fortran/clause.f src/fortran/compcl.f src/fortran/expsum.f \
-       src/fortran/copyvar.f src/fortran/putid.f src/fortran/itosci.f \
-       src/fortran/stackr2d.f src/fortran/stacki2d.f \
-       src/fortran/stackc2i.f src/fortran/isinstring.f \
-       $(am__append_2)
+       src/fortran/clause.f src/fortran/compcl.f src/fortran/termf.f \
+       src/fortran/expsum.f src/fortran/copyvar.f src/fortran/putid.f \
+       src/fortran/itosci.f src/fortran/stackr2d.f \
+       src/fortran/stacki2d.f src/fortran/stackc2i.f \
+       src/fortran/isinstring.f $(am__append_2)
 GATEWAY_C_SOURCES = sci_gateway/c/sci_stacksize.c \
 sci_gateway/c/sci_resume.c \
 sci_gateway/c/sci_mtlb_mode.c \
@@ -2542,6 +2542,9 @@ clause.lo: src/fortran/clause.f
 compcl.lo: src/fortran/compcl.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o compcl.lo `test -f 'src/fortran/compcl.f' || echo '$(srcdir)/'`src/fortran/compcl.f
 
+termf.lo: src/fortran/termf.f
+       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o termf.lo `test -f 'src/fortran/termf.f' || echo '$(srcdir)/'`src/fortran/termf.f
+
 expsum.lo: src/fortran/expsum.f
        $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o expsum.lo `test -f 'src/fortran/expsum.f' || echo '$(srcdir)/'`src/fortran/expsum.f
 
index 8d0ae07..fcf8d6b 100644 (file)
@@ -272,6 +272,7 @@ lib /DEF:"$(ProjectDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X6
                <File RelativePath="stackp.f"/>
                <File RelativePath=".\stackr2d.f"/>
                <File RelativePath="storeglobal.f"/>
+               <File RelativePath="termf.f"/>
                <File RelativePath="tradsl.f"/>
                <File RelativePath="typ2cod.f"/>
                <File RelativePath="varfunptr.f"/>
index b09ced5..7658095 100644 (file)
@@ -418,6 +418,7 @@ cd ..
     <ClCompile Include="stackp.c" />
     <ClCompile Include="stackr2d.c" />
     <ClCompile Include="storeglobal.c" />
+    <ClCompile Include="termf.c" />
     <ClCompile Include="tradsl.c" />
     <ClCompile Include="typ2cod.c" />
     <ClCompile Include="varfunptr.c" />
@@ -527,6 +528,7 @@ cd ..
     <f2c_rule Include="stackp.f" />
     <f2c_rule Include="stackr2d.f" />
     <f2c_rule Include="storeglobal.f" />
+    <f2c_rule Include="termf.f" />
     <f2c_rule Include="tradsl.f" />
     <f2c_rule Include="typ2cod.f" />
     <f2c_rule Include="varfunptr.f" />
index a2b7fa6..48263cc 100644 (file)
     <ClCompile Include="storeglobal.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="termf.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
     <ClCompile Include="tradsl.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <f2c_rule Include="storeglobal.f">
       <Filter>Fortran Files</Filter>
     </f2c_rule>
+    <f2c_rule Include="termf.f">
+      <Filter>Fortran Files</Filter>
+    </f2c_rule>
     <f2c_rule Include="tradsl.f">
       <Filter>Fortran Files</Filter>
     </f2c_rule>
index fdc2a13..01a001a 100644 (file)
@@ -222,6 +222,7 @@ lib /DEF:&quot;$(InputDir)slatec_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:
                <File RelativePath="stackp.f"/>
                <File RelativePath=".\stackr2d.f"/>
                <File RelativePath="storeglobal.f"/>
+               <File RelativePath="termf.f"/>
                <File RelativePath="tradsl.f"/>
                <File RelativePath="typ2cod.f"/>
                <File RelativePath="varfunptr.f"/>
diff --git a/scilab/modules/core/src/fortran/termf.f b/scilab/modules/core/src/fortran/termf.f
new file mode 100644 (file)
index 0000000..6d27849
--- /dev/null
@@ -0,0 +1,68 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c 
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution.  The terms
+c are also available at    
+c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+      subroutine termf(chaine,n,type)
+      integer chaine(n),type
+c
+      integer plus,minus,lparen,rparen
+      data plus/45/,minus/46/,lparen/41/,rparen/42/
+c
+      l1=0
+      if(chaine(1).eq.plus.or.chaine(1).eq.minus) l1=l1+1
+c
+      icount=0
+ 03   l1=l1+1
+      if(l1.gt.n) goto 10
+      if(chaine(l1).eq.lparen) then
+         icount=icount+1
+      else if(chaine(l1).eq.rparen) then
+         icount=icount-1
+      else
+         if(icount.ne.0) goto 03
+         if(chaine(l1).eq.plus.or.chaine(l1).eq.minus) goto 20
+      endif
+      goto 03
+c
+   10 continue
+      type=1
+      return
+   20 type=0
+      return
+      end
+
+      subroutine factf(chaine,n,type)
+      integer chaine(n),type
+c
+      integer plus,minus,lparen,rparen,bslash
+      data plus/45/,minus/46/,lparen/41/,rparen/42/
+      data bslash/49/
+c
+      l1=0
+      if(chaine(1).eq.plus.or.chaine(1).eq.minus) l1=l1+1
+c
+      icount=0
+ 03   l1=l1+1
+      if(l1.gt.n) goto 10
+      if(chaine(l1).eq.lparen) then
+         icount=icount+1
+      else if(chaine(l1).eq.rparen) then
+         icount=icount-1
+      else
+         if(icount.ne.0) goto 03
+         if(chaine(l1).eq.bslash) goto 20
+         goto 03
+      endif
+      goto 03
+c
+   10 continue
+      type=1
+      return
+   20 type=0
+      return
+      end