      PROGRAM xhunt
C     driver for routine hunt
      INTEGER N
      PARAMETER(N=100)
      INTEGER i,j,ji
      REAL x,xx(N)
C     create array to be searched
      do 11 i=1,N
        xx(i)=exp(i/20.0)-74.0
11    continue
      write(*,*) 'Result of:    j=0 indicates x too small'
      write(*,*) '            j=100 indicates x too large'
      write(*,'(t7,a7,t17,a5,t25,a1,t32,a5,t42,a7)') 'locate:',
     *     'guess','j','xx(j)','xx(j+1)'
C     perform test
      do 12 i=1,19
        x=-100.0+200.0*i/20.0
C     trial parameter
        ji=5*i
        j=ji
C     begin search
        call hunt(xx,N,x,j)
        if (j.eq.0) then
          write(*,'(1x,f12.6,2i6,a12,f12.6)') x,ji,j,
     *         'lower lim',xx(j+1)
        else if (j.eq.N) then
          write(*,'(1x,f12.6,2i6,f12.6,a12)') x,ji,j,
     *         xx(j),'upper lim'
        else
          write(*,'(1x,f12.6,2i6,2f12.6)') x,ji,j,xx(j),xx(j+1)
        endif
12    continue
      END
