FUNCTION VECTCMP,X,OPER
; $Id: vectcmp.pro,v 1.2 1992/07/13 13:45:03 sue Exp $
;

;*******************************************************************************
;*M*      Routine Name:      VECTCMP
;*M*
;*M*      Author:            Milt Jones (11/10/89)
;*M*
;*M*      Last Revision:     11/10/89
;*M*
;*C*      Revision Log:
;*C*
;*F*      Purpose:           To return indices of all vector elements where
;*F*                         X(i) OPER X(i-1)
;*F*
;*F*      Procedure:         Loop through all elements
;*F*                         Check for X(i) OPER X(i-1)
;*F*
;*D*      Calling Sequence:  z = VECTCMP(X,'NE')
;*D*
;*D*      Parameters In:     X (a vector)
;*D*                         OPER (a string - GE,GT,LE,LT,EQ,NE) 
;*D*
;*D*      Parameters Out:    VECTCMP(X,OPER) (a vector)
;*D*
;*D*      Sub Calls:         None
;*D*
;*D*      Limitations:       None known
;*D*
;*E*      Error Messages:    'Error - unrecognized operator passed to 
;*E*                                  VECTCMP function'
;*E*

;*******************************************************************************
;
N=N_ELEMENTS(X)
DUM=FLTARR(N)                                    ; DUMMY ARRAY
FOR I=1L,N-1 DO DUM(I)=X(I)-X(I-1)                ; VECTCMP X(I) & X(I-1)
XSTR='A=WHERE(DUM '+OPER+' 0)'                   
K=EXECUTE(XSTR)                                  ; APPLY OPERATOR
IF (K) THEN RETURN,A(WHERE(A))                     
PRINT,'Error - unrecognized operator passed to VECTCMP function'
RETURN,X
END
