C
C	FORTRAN Binding for Hippo
C
C	By Paul Kunz, SLAC, November 1991
C
C	Copyright (C)  1991  The Board of Trustees of
C	The Leland Stanford Junior University.  All Rights Reserved.
C
C       $Id: hippof.f,v 1.6 1992/04/04 19:12:47 pfkeb Rel $
C     
C	This set of functions is the first level interface between
C	FORTRAN user and the Hippo package which is written in C.
C	All the functions the user sees are defined here and there
C	is no need for the user to know the underlying C routines
C	(defined in fhippo.c) used to support them.   Also system
C	dependencies on how C is called from FORTRAN should be
C	found in versions of this file.
C
C	Report bugs to hippo_bug@ebnextk.slac.stanford.edu
C
C
      Integer Function iparrayFill( nt, x )
C     -------------------------------------
      Integer nt
      Real    x(*)
C
      Integer hfarrayfill
C      
      iparrayFill = hfarrayfill( nt, x )
      return
      end
C
C        
      Integer Function ipclrNt( nt )
C     -------------------------------
      Integer nt
C
      Integer hfclrnt
C      
      ipclrNt = hfclrnt( nt )
      return
      end
C
C        
      Integer Function ipfreeNt( nt )
C     -------------------------------
      Integer nt
C
      Integer hffreent
C      
      ipfreeNt = hffreent( nt )
      return
      end
C
C                      
      Integer Function ipnew( ndim )
C     ------------------------------
      Integer ndim
C
      Integer hfnew
C      
      ipnew = hfnew( ndim )
      return
      end
C
C            
      Integer Function ipsetNtLabel( nt, ndim, label )
C     ------------------------------------------------
      Integer       nt
      Integer       ndim
      Character*(*) label
C
      Integer hfsetntlabel
      Integer ndimc, lenc
C
C	Note: in C, ndim counting is one less then FORTRAN
C
      if ( ndim .le. 0 ) then
         Print *, 'ipsetNtLabel error: column index must be > 0'
	 ipsetNtLabel = -1
	 return
      endif
      ndimc = ndim -1
      lenc = len(label)  
      ipsetNtLabel = hfsetntlabel( nt, ndimc, label, lenc )
      return
      end
C
C
      Integer Function ipsetNtTitle( nt, title )
C     ------------------------------------------
      Integer       nt
      Character*(*) title
C
      Integer hfsetnttitle
      Integer lenc
C
      lenc = len(title)  
      ipsetNtTitle = hfsetnttitle( nt, title, lenc )
      return
      end
C
C
      Integer Function ipwrite( file, dlist, ntlist )
C     -----------------------------------------------
      Character*(*) file
      Integer       dlist(*)
      Integer       ntlist(*)
C
      Integer hfwrite
      Integer lenc
C
      lenc = len(file)
C
      ipwrite = hfwrite( file, dlist, ntlist, lenc )
      return
      end
