function istkgs (nitems, itype) common /cstak / dstak(500) double precision dstak integer istak(1000), isize(6) equivalence (istak(1), dstak(1)) equivalence (istak(11), isize(1)) equivalence (istak(7), need) c ileft = istkqu (iabs (itype)) if (ileft.lt.nitems) go to 10 c istkgs = istkgt (nitems, itype) print *, 'istkgs 1 ', istkgs, need print *, 'istkgs ', (istak(i), i=1, 14) return c 10 ity = iabs (itype) print *, 'istkgs ', (istak(i), i=1, 14) if (ileft.gt.0) itemp = istkgt (ileft, ity) if (ileft.gt.0) need = (nitems-ileft)*isize(ity) + 2*isize(2) if (ileft.le.0) need = need + nitems*isize(ity) + 2*isize(2) istkgs = -need print *, 'istkgs 2 ', istkgs, need c return end