*> \brief \b LSAME
*
*  =========== DOCUMENTATION ===========
*
* Online html documentation available at 
*            http://www.netlib.org/lapack/explore-html/ 
*
*  Definition:
*  ===========
*
*       LOGICAL FUNCTION LSAME(CA,CB)
* 
*       .. Scalar Arguments ..
*       CHARACTER CA,CB
*       ..
*  
*
*> \par Purpose:
*  =============
*>
*> \verbatim
*>
*> LSAME returns .TRUE. if CA is the same letter as CB regardless of
*> case.
*> \endverbatim
*
*  Arguments:
*  ==========
*
*> \param[in] CA
*> \verbatim
*>          CA is CHARACTER*1
*> \endverbatim
*>
*> \param[in] CB
*> \verbatim
*>          CB is CHARACTER*1
*>          CA and CB specify the single characters to be compared.
*> \endverbatim
*
*  Authors:
*  ========
*
*> \author Univ. of Tennessee 
*> \author Univ. of California Berkeley 
*> \author Univ. of Colorado Denver 
*> \author NAG Ltd. 
*
*> \date November 2011
*
*> \ingroup aux_blas
*
*  =====================================================================
      LOGICAL FUNCTION GAL_LSAME(CA,CB)
*
*  -- Reference BLAS level1 routine (version 3.1) --
*  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
*     November 2011
*
*     .. Scalar Arguments ..
      CHARACTERCA,CB
*     ..
*
* =====================================================================
*
*     .. Intrinsic Functions ..
      INTRINSIC ICHAR
*     ..
*     .. Local Scalars ..
      INTEGER INTA,INTB,ZCODE
*     ..
*
*     Test if the characters are equal
*
      GAL_LSAME=CA.EQ.CB
      IF(GAL_LSAME)RETURN
*
*     Now test for equivalence if both characters are alphabetic.
*
      ZCODE=ICHAR('Z')
*
*     Use 'Z' rather than 'A' so that ASCII can be detected on Prime
*     machines, on which ICHAR returns a value with bit 8 set.
*     ICHAR('A') on Prime machines returns 193 which is the same as
*     ICHAR('A') on an EBCDIC machine.
*
      INTA=ICHAR(CA)
      INTB=ICHAR(CB)
*
      IF(ZCODE.EQ.90.OR.ZCODE.EQ.122)THEN
*
*        ASCII is assumed - ZCODE is the ASCII code of either lower or
*        upper case 'Z'.
*
      IF(INTA.GE.97.AND.INTA.LE.122)INTA=INTA-32
      IF(INTB.GE.97.AND.INTB.LE.122)INTB=INTB-32
*
      ELSE IF(ZCODE.EQ.233.OR.ZCODE.EQ.169)THEN
*
*        EBCDIC is assumed - ZCODE is the EBCDIC code of either lower or
*        upper case 'Z'.
*
      IF(INTA.GE.129.AND.INTA.LE.137.OR.
     +INTA.GE.145.AND.INTA.LE.153.OR.
     +INTA.GE.162.AND.INTA.LE.169)INTA=INTA+64
      IF(INTB.GE.129.AND.INTB.LE.137.OR.
     +INTB.GE.145.AND.INTB.LE.153.OR.
     +INTB.GE.162.AND.INTB.LE.169)INTB=INTB+64
*
      ELSE IF(ZCODE.EQ.218.OR.ZCODE.EQ.250)THEN
*
*        ASCII is assumed, on Prime machines - ZCODE is the ASCII code
*        plus 128 of either lower or upper case 'Z'.
*
      IF(INTA.GE.225.AND.INTA.LE.250)INTA=INTA-32
      IF(INTB.GE.225.AND.INTB.LE.250)INTB=INTB-32
      END IF
      GAL_LSAME=INTA.EQ.INTB
*
*     RETURN
*
*     End of LSAME
*
      END 
