**********************************************************************
C
C     Copyright (C) 1992  Roland W. Freund and Noel M. Nachtigal
C     All rights reserved.
C
C     This code is part of a copyrighted package.  For details, see the
C     file `cpyrit.doc' in the top-level directory.
C
C     *****************************************************************
C     ANY USE OF  THIS CODE CONSTITUTES ACCEPTANCE OF  THE TERMS OF THE
C                             COPYRIGHT NOTICE
C     *****************************************************************
C
C**********************************************************************
C
      REAL FUNCTION SCNRM1 (N,CX,INCX)
C
C     Purpose:
C     This function computes the 1-norm of CX.
C
C     Parameters:
C     N    = the dimension of the vectors (input).
C     CX   = the vector whose 1-norm is to be computed (input).
C     INCX = the stride (input).
C
C     Noel M. Nachtigal
C     March 23, 1993
C
C**********************************************************************
C
      INTRINSIC CABS
C
      INTEGER INCX, N
      COMPLEX CX(N)
C
C     Local variables.
C
      INTEGER I, IX
      REAL STMP
C
      IF (N.LE.0) RETURN
      STMP = 0.0E0
      IF (INCX.EQ.1) GO TO 20
C
      IX = 1
      IF (INCX.LT.0) IX = (-N+1)*INCX + 1
      DO 10 I = 1, N
         STMP = STMP + CABS(CX(IX))
         IX   = IX + INCX
 10   CONTINUE
      SCNRM1 = STMP
      RETURN
C
 20   DO 30 I = 1, N
         STMP = STMP + CABS(CX(I))
 30   CONTINUE
      SCNRM1 = STMP
      RETURN
C
      END
C
C**********************************************************************