diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Utilib/src/XDRCAS.f | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Utilib/src/XDRCAS.f')
| -rw-r--r-- | Utilib/src/XDRCAS.f | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Utilib/src/XDRCAS.f b/Utilib/src/XDRCAS.f new file mode 100644 index 0000000..eb686a9 --- /dev/null +++ b/Utilib/src/XDRCAS.f @@ -0,0 +1,52 @@ +*DECK XDRCAS + SUBROUTINE XDRCAS(DIR,TEXT) +* +*----------------------------------------------------------------------- +* +* CONVERT A LOWER-CASE CHARACTER VARIABLE TO UPPER CASE OR +* UPPER CASE CHARACTER VARIABLE TO LOWER-CASE +* +* INPUT/OUTPUT VARIABLE: +* DIR : DIRECTION OF CONVERSION +* ='LOWTOUP' FOR LOWER TO UPPER +* ='UPTOLOW' FOR UPPER TO LOWER +* TEXT : CHARACTER VARIABLE TO BE CONVERTED. +* +*----------------------------------------------------------------------- +* + CHARACTER DIR*(*),TEXT*(*) +C---- +C LOCAL PARAMETERS +C---- + PARAMETER (NCAR=26) + INTEGER LENTEX,ITEX,ICAR + CHARACTER LOWCAS(NCAR)*1,UPCAS(NCAR)*1 + SAVE LOWCAS,UPCAS + DATA LOWCAS /'a','b','c','d','e','f','g','h','i','j','k','l','m', + > 'n','o','p','q','r','s','t','u','v','w','x','y','z'/ + DATA UPCAS /'A','B','C','D','E','F','G','H','I','J','K','L','M', + > 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'/ + LENTEX=LEN(TEXT) + IF(DIR.EQ.'LOWTOUP') THEN + DO 100 ITEX=1,LENTEX + DO 110 ICAR=1,NCAR + IF(TEXT(ITEX:ITEX).EQ.LOWCAS(ICAR)) THEN + TEXT(ITEX:ITEX)=UPCAS(ICAR) + GO TO 115 + ENDIF + 110 CONTINUE + 115 CONTINUE + 100 CONTINUE + ELSE IF (DIR.EQ.'UPTOLOW') THEN + DO 200 ITEX=1,LENTEX + DO 210 ICAR=1,NCAR + IF(TEXT(ITEX:ITEX).EQ.UPCAS(ICAR)) THEN + TEXT(ITEX:ITEX)=LOWCAS(ICAR) + GO TO 215 + ENDIF + 210 CONTINUE + 215 CONTINUE + 200 CONTINUE + ENDIF + RETURN + END |
