      subroutine i0tk00 (larg, nitems, itype)
c
c initializes the stack to nitems of type itype
c
      common /cstak / dstak
c
      double precision dstak(500)
      integer istak(1000)
      logical larg, init
      integer isize(6)
c
      equivalence (dstak(1), istak(1))
      equivalence (istak(1), lout)
      equivalence (istak(2), lnow)
      equivalence (istak(3), lused)
      equivalence (istak(4), lbnd)
      equivalence (istak(5), lmax)
      equivalence (istak(6), lalc)
      equivalence (istak(7), lneed)
      equivalence (istak(8), lbook)
      equivalence (istak(11), isize(1))
c
      data init / .false. /
c
      larg = .false.
      if (init) return
c
c here to initialize
c
      init = .true.
c
c set data sizes appropriate for a standard conforming
c fortran system using the fortran *storage unit* as the
c measure of size.
c
c logical
      isize(1) = 1
c integer
      isize(2) = 1
c real
      isize(3) = 1
c double precision
      isize(4) = 2
c complex
      isize(5) = 2
c double complex
      isize(6) = 4
c
      lbook = 16
      lnow = lbook
      lused = lbook
      lmax = max0 ((nitems*isize(itype))/isize(2), lbook+2)
      lbnd = lmax + 1
      lout = 0
      lalc = 0
      lneed = 0
c
      return
c
      end
