
# CHGLIB ܿȤ

ꥸʥΥǤ, ɷϤΰ¸ʤʸȾʸ
ǡʸͿƸߤбطĴ٤Ƥ. ΥåϤʤ
֤פΤ, ASCII ɷϤˤƤ2ΥץΤ褦, ޤ 
EBCDIC ɷϤˤƤ3ΥץΤ褦˽񤭴®ʤ. 
ܿ˺ݤƤ, ׻ΥɷϤΤäŬڤʤΤ֤.

ʤ, ΥѥåǤ ASCII ɷϤбΤɸȤƤ. 

*-----------------------------------------------------------------------
*     CHGLIB (ORIGINAL)
*-----------------------------------------------------------------------
*     CUPPER
*-----------------------------------------------------------------------
      SUBROUTINE CUPPER(CH)
 
      CHARACTER CH*(*)
 
      CHARACTER CUP*26,CLW*26

      EXTERNAL  INDXCF
 
      DATA      CUP/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
      DATA      CLW/'abcdefghijklmnopqrstuvwxyz'/
 
 
      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=INDXCF(CLW,26,1,CH(I:I))
        IF (IDX.NE.0) THEN
          CH(I:I)=CUP(IDX:IDX)
        END IF
   10 CONTINUE
 
      END
*-----------------------------------------------------------------------
*     CLOWER
*-----------------------------------------------------------------------
      SUBROUTINE CLOWER(CH)
 
      CHARACTER CH*(*)
 
      CHARACTER CUP*26,CLW*26

      EXTERNAL  INDXCF
 
      DATA      CUP/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
      DATA      CLW/'abcdefghijklmnopqrstuvwxyz'/
 
 
      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=INDXCF(CUP,26,1,CH(I:I))
        IF (IDX.NE.0) THEN
          CH(I:I)=CLW(IDX:IDX)
        END IF
   10 CONTINUE
 
      END
*-----------------------------------------------------------------------
*     CHGLIB FOR ASCII CODE
*-----------------------------------------------------------------------
*     CUPPER
*-----------------------------------------------------------------------
      SUBROUTINE CUPPER(CH)

      CHARACTER CH*(*)


      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=ICHAR(CH(I:I))
        IF (97.LE.IDX .AND. IDX.LE.122) THEN
          CH(I:I)=CHAR(IDX-32)
        END IF
   10 CONTINUE

      END
*-----------------------------------------------------------------------
*     CLOWER
*-----------------------------------------------------------------------
      SUBROUTINE CLOWER(CH)

      CHARACTER CH*(*)


      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=ICHAR(CH(I:I))
        IF (65.LE.IDX .AND. IDX.LE.90) THEN
          CH(I:I)=CHAR(IDX+32)
        END IF
   10 CONTINUE

      END
*-----------------------------------------------------------------------
*     CHGLIB FOR EBCDIC CODE (by K. Ishioka)
*-----------------------------------------------------------------------
*     CUPPER
*-----------------------------------------------------------------------
      SUBROUTINE CUPPER(CH)
 
      CHARACTER CH*(*)
      LOGICAL LIF
 
 
      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=ICHAR(CH(I:I))
        LIF=    (129.LE.IDX .AND. IDX.LE.137)
     &      .OR.(145.LE.IDX .AND. IDX.LE.153)
     &      .OR.(162.LE.IDX .AND. IDX.LE.169)
        IF(LIF) CH(I:I)=CHAR(IDX+64)
   10 CONTINUE
 
      END
*-----------------------------------------------------------------------
*     CLOWER
*-----------------------------------------------------------------------
      SUBROUTINE CLOWER(CH)
 
      CHARACTER CH*(*)
      LOGICAL LIF
 
 
      LCH=LEN(CH)
      DO 10 I=1,LCH
        IDX=ICHAR(CH(I:I))
        LIF=    (193.LE.IDX .AND. IDX.LE.201)
     &      .OR.(209.LE.IDX .AND. IDX.LE.217)
     &      .OR.(226.LE.IDX .AND. IDX.LE.233)
        IF(LIF) CH(I:I)=CHAR(IDX-64)
   10 CONTINUE
 
      END
