53
54
55
56
57
58
59 CHARACTER CA,CB
60
61
62
63
64
65 INTRINSIC ichar
66
67
68 INTEGER INTA,INTB,ZCODE
69
70
71
72
75
76
77
78 zcode = ichar('Z')
79
80
81
82
83
84
85 inta = ichar(ca)
86 intb = ichar(cb)
87
88 IF (zcode.EQ.90 .OR. zcode.EQ.122) THEN
89
90
91
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
99
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
111
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
119
120
121
logical function lsame(CA, CB)
LSAME