123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ! NASA/GSFC, Data Assimilation Office, Code 910.3, GEOS/DAS !
- !-----------------------------------------------------------------------
- ! CVS m_chars.F90,v 1.3 2004-04-21 22:54:46 jacob Exp
- ! CVS MCT_2_8_0
- !-----------------------------------------------------------------------
- !BOP
- !
- ! !MODULE: m_chars - a module for character class object operations
- !
- ! !DESCRIPTION:
- !
- ! !INTERFACE:
- module m_chars
- implicit none
- private
- public :: operator (.upper.) ! convert a string to uppercase
- public :: uppercase
- public :: operator (.lower.) ! convert a string to lowercase
- public :: lowercase
- interface operator (.upper.)
- module procedure upper_case
- end interface
- interface uppercase
- module procedure upper_case
- end interface
- interface operator (.lower.)
- module procedure lower_case
- end interface
- interface lowercase
- module procedure lower_case
- end interface
- ! !REVISION HISTORY:
- ! 16Jul96 - J. Guo - (to do)
- !EOP
- !_______________________________________________________________________
- character(len=*),parameter :: myname='MCT(MPEU)::m_chars'
- contains
- !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ! NASA/GSFC, Data Assimilation Office, Code 910.3, GEOS/DAS !
- !-----------------------------------------------------------------------
- !BOP
- !
- ! !IROUTINE: upper_case - convert lowercase letters to uppercase.
- !
- ! !DESCRIPTION:
- !
- ! !INTERFACE:
- function upper_case(str) result(ustr)
- implicit none
- character(len=*), intent(in) :: str
- character(len=len(str)) :: ustr
- ! !REVISION HISTORY:
- ! 13Aug96 - J. Guo - (to do)
- !EOP
- !_______________________________________________________________________
- integer i
- integer,parameter :: il2u=ichar('A')-ichar('a')
- ustr=str
- do i=1,len_trim(str)
- if(str(i:i).ge.'a'.and.str(i:i).le.'z') &
- ustr(i:i)=char(ichar(str(i:i))+il2u)
- end do
- end function upper_case
- !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ! NASA/GSFC, Data Assimilation Office, Code 910.3, GEOS/DAS !
- !-----------------------------------------------------------------------
- !BOP
- !
- ! !IROUTINE: lower_case - convert uppercase letters to lowercase.
- !
- ! !DESCRIPTION:
- !
- ! !INTERFACE:
- function lower_case(str) result(lstr)
- implicit none
- character(len=*), intent(in) :: str
- character(len=len(str)) :: lstr
- ! !REVISION HISTORY:
- ! 13Aug96 - J. Guo - (to do)
- !EOP
- !_______________________________________________________________________
- integer i
- integer,parameter :: iu2l=ichar('a')-ichar('A')
- lstr=str
- do i=1,len_trim(str)
- if(str(i:i).ge.'A'.and.str(i:i).le.'Z') &
- lstr(i:i)=char(ichar(str(i:i))+iu2l)
- end do
- end function lower_case
- end module m_chars
- !.
|