C***********************************************************************
C   SUBROUTINE HIST ASSUMES AN INPUT VECTOR OF N REAL NUMBERS ORDERED IN
C   INCREASING SEQUENCE AND A DESIGNATION OF A PARTITION OF THE REAL
C   LINE INTO K INTERVALS. THE FREQUENCE OF DATA ITEMS IN EACH INTERVAL
C   IS COMPUTED AND RETURNED BY THIS SUBROUTINE.
C
C   NOTATION
C   A    AN ARRAY OF REAL NUMBERS IN ASCENDING ORDER.
C   N    THE SAMPLE SIZE.
C   X    AN ORDERED VECTOR OF K REAL NUMBERS.
C   K    THE NUMBER OF INTERVALS TO BE USED.
C   F    A 1 BY K ARRAY OF THE TABULATED FREQUENCIES OF DATA IN THE
C         INTERVALS.
C
C   THE X ARRAY SPECIFIES THE INTERVAL ENDPOINTS, USING THE CONVENTION
C     FOR NONEGATIVE NUMBERS OF INTERVALS OPEN ON THE LEFT AND CLOSED ON
C     THE RIGHT - (0,X(1)),(X(1),X(2)),...,(X(K-1),X(K)),WITH THE
C      EXCEPTION THAT ZERO IS INCLUDED IN THE FIRST INTERVAL.  IT IS NOT
C     NECESSARY THAT THE F(I) SUM TO THE SAMPLE SIZE N(I.E., THE FREQ-
C     UENCIES COULD BE A SUBSET OF THE DATA).
C
C**************************************
      SUBROUTINE HIST (A,N,X,K,F)
      REAL A(*), X(*), F(*)
      DO 10 I=1,K
   10    F(I)=0
      M=1
      DO 40 I=1,N
   20 EPS=A(I)*1.E-7
      EPS=AMAX1(EPS,1.E-15)
      EPS=AMIN1(EPS,1.E-5)
      IF(A(I).GT.(X(M)+EPS)) GO TO 30
      F(M)=F(M)+1.
      GO TO 40
   30 M=M+1
      IF (M.EQ.K+1) RETURN
      GO TO 20
   40 CONTINUE
      END
