LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

## ◆ lsame()

 logical function lsame ( character CA, character CB )

LSAME

Purpose:
``` LSAME returns .TRUE. if CA is the same letter as CB regardless of
case.```
Parameters
 [in] CA ` CA is CHARACTER*1` [in] CB ``` CB is CHARACTER*1 CA and CB specify the single characters to be compared.```

Definition at line 52 of file lsame.f.

53*
54* -- Reference BLAS level1 routine --
55* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
56* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
57*
58* .. Scalar Arguments ..
59 CHARACTER CA,CB
60* ..
61*
62* =====================================================================
63*
64* .. Intrinsic Functions ..
65 INTRINSIC ichar
66* ..
67* .. Local Scalars ..
68 INTEGER INTA,INTB,ZCODE
69* ..
70*
71* Test if the characters are equal
72*
73 lsame = ca .EQ. cb
74 IF (lsame) RETURN
75*
76* Now test for equivalence if both characters are alphabetic.
77*
78 zcode = ichar('Z')
79*
80* Use 'Z' rather than 'A' so that ASCII can be detected on Prime
81* machines, on which ICHAR returns a value with bit 8 set.
82* ICHAR('A') on Prime machines returns 193 which is the same as
83* ICHAR('A') on an EBCDIC machine.
84*
85 inta = ichar(ca)
86 intb = ichar(cb)
87*
88 IF (zcode.EQ.90 .OR. zcode.EQ.122) THEN
89*
90* ASCII is assumed - ZCODE is the ASCII code of either lower or
91* upper case 'Z'.
92*
93 IF (inta.GE.97 .AND. inta.LE.122) inta = inta - 32
94 IF (intb.GE.97 .AND. intb.LE.122) intb = intb - 32
95*
96 ELSE IF (zcode.EQ.233 .OR. zcode.EQ.169) THEN
97*
98* EBCDIC is assumed - ZCODE is the EBCDIC code of either lower or
99* upper case 'Z'.
100*
101 IF (inta.GE.129 .AND. inta.LE.137 .OR.
102 + inta.GE.145 .AND. inta.LE.153 .OR.
103 + inta.GE.162 .AND. inta.LE.169) inta = inta + 64
104 IF (intb.GE.129 .AND. intb.LE.137 .OR.
105 + intb.GE.145 .AND. intb.LE.153 .OR.
106 + intb.GE.162 .AND. intb.LE.169) intb = intb + 64
107*
108 ELSE IF (zcode.EQ.218 .OR. zcode.EQ.250) THEN
109*
110* ASCII is assumed, on Prime machines - ZCODE is the ASCII code
111* plus 128 of either lower or upper case 'Z'.
112*
113 IF (inta.GE.225 .AND. inta.LE.250) inta = inta - 32
114 IF (intb.GE.225 .AND. intb.LE.250) intb = intb - 32
115 END IF
116 lsame = inta .EQ. intb
117*
118* RETURN
119*
120* End of LSAME
121*
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53
Here is the call graph for this function: