aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibf/stlu.f
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /unix/boot/spp/rpp/ratlibf/stlu.f
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/boot/spp/rpp/ratlibf/stlu.f')
-rw-r--r--unix/boot/spp/rpp/ratlibf/stlu.f36
1 files changed, 36 insertions, 0 deletions
diff --git a/unix/boot/spp/rpp/ratlibf/stlu.f b/unix/boot/spp/rpp/ratlibf/stlu.f
new file mode 100644
index 00000000..6cfbd0a7
--- /dev/null
+++ b/unix/boot/spp/rpp/ratlibf/stlu.f
@@ -0,0 +1,36 @@
+ integer function stlu (symbol, node, pred, st)
+ integer symbol (100)
+ integer node, pred, st
+ integer mem( 1)
+ common/cdsmem/mem
+ integer hash, i, j, nodsiz
+ nodsiz = mem (st)
+ hash = 0
+ i = 1
+23000 if (.not.(symbol (i) .ne. -2))goto 23002
+ hash = hash + symbol (i)
+23001 i = i + 1
+ goto 23000
+23002 continue
+ hash = mod (hash, 43) + 1
+ pred = st + hash
+ node = mem (pred)
+23003 if (.not.(node .ne. 0))goto 23004
+ i = 1
+ j = node + 1 + nodsiz
+23005 if (.not.(symbol (i) .eq. mem (j)))goto 23006
+ if (.not.(symbol (i) .eq. -2))goto 23007
+ stlu=(1)
+ return
+23007 continue
+ i = i + 1
+ j = j + 1
+ goto 23005
+23006 continue
+ pred = node
+ node = mem (pred + 0)
+ goto 23003
+23004 continue
+ stlu=(0)
+ return
+ end