Manual Reference Pages  - lge (3fortran)

NAME

LGE(3) - [CHARACTER:COMPARE] ASCII Lexical greater than or equal

SYNOPSIS

result = lge(string_a, stringb)

         elemental logical function lge(string_a, string_b)

character(len=*),intent(in) :: string_a character(len=*),intent(in) :: string_b

CHARACTERISTICS

o STRING_A is default character or an ASCII character.
o STRING_B is the same type and kind as STRING_A
o the result is a default logical

DESCRIPTION

LGE(3) determines whether one string is lexically greater than or equal to another string, where the two strings are interpreted as containing ASCII character codes. If STRING_A and STRING_B are not the same length, the shorter is compared as if spaces were appended to it to form a value that has the same length as the longer.

The lexical comparison intrinsics LGE(3), LGT(3), LLE(3), and LLT(3) differ from the corresponding intrinsic operators .ge., .gt., .le., and [char46]lt., in that the latter use the processor’s character ordering (which is not ASCII on some targets), whereas the former always use the ASCII ordering.

OPTIONS

o STRING_A : string to be tested
o STRING_B : string to compare to STRING_A

RESULT

Returns .true. if string_a == string_b, and .false. otherwise, based on the ASCII collating sequence.

If both input arguments are null strings, .true. is always returned.

If either string contains a character not in the ASCII character set, the result is processor dependent.

EXAMPLES

Sample program:

    program demo_lge
    implicit none
    integer :: i
       print *,’the ASCII collating sequence for printable characters’
       write(*,’(1x,19a)’)(char(i),i=32,126) ! ASCII order
       write(*,*) lge(’abc’,’ABC’)           ! [T] lowercase is > uppercase
       write(*,*) lge(’abc’,’abc  ’)         ! [T] trailing spaces
       ! If both strings are of zero length the result is true
       write(*,*) lge(’’,’’)                 ! [T]
       write(*,*) lge(’’,’a’)                ! [F] the null string is padded
       write(*,*) lge(’a’,’’)                ! [T]
       ! elemental
       write(*,*) lge(’abc’,[’abc’,’123’])   ! [T T]  scalar and array
       write(*,*) lge([’cba’, ’123’],’abc’)  ! [T F]
       write(*,*) lge([’abc’,’123’],[’cba’,’123’]) ! [F T]  both arrays
    end program demo_lge

Results:

     >  the ASCII collating sequence for printable characters
     >   !"#$%&’()*+,-./012
     >  3456789:;<=>?@ABCDE
     >  FGHIJKLMNOPQRSTUVWX
     >  YZ[\]^_‘abcdefghijk
     >  lmnopqrstuvwxyz{|}~
     >  T
     >  T
     >  T
     >  F
     >  T
     >  T T
     >  T F
     >  F T

STANDARD

FORTRAN 77

SEE ALSO

LGT(3), LLE(3), LLT(3)

Functions that perform operations on character strings, return lengths of arguments, and search for certain arguments:
o ELEMENTAL: ADJUSTL(3), ADJUSTR(3), INDEX(3),
SCAN(3), VERIFY(3)
o NONELEMENTAL: LEN_TRIM(3), LEN(3), REPEAT(3), TRIM(3)
fortran-lang intrinsic descriptions (license: MIT) @urbanjost


Nemo Release 3.1 lge (3fortran) April 28, 2024
Generated by manServer 1.08 from 76d9ff51-aea8-4ff4-8997-c35bd5c22912 using man macros.