Manual Reference Pages  - llt (3fortran)

NAME

LLT(3) - [CHARACTER:COMPARE] ASCII Lexical less than

SYNOPSIS

result = llt(string_a, stringb)

          elemental logical function llt(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

LLT(3) determines whether one string is lexically less than another string, where the two strings are interpreted as containing ASCII character codes. If the 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.

In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT 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, .false. 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_llt
    implicit none
    integer :: i

print *,’the ASCII collating sequence for printable characters’ write(*,’(1x,19a)’)(char(i),i=32,126) ! ASCII order

! basics print *,’case matters’ write(*,*) llt(’abc’,’ABC’) ! [F] lowercase is > uppercase write(*,*) llt(’abc’,’abc ’) ! [F] trailing spaces ! If both strings are of zero length the result is false. write(*,*) llt(’’,’’) ! [F] write(*,*) llt(’’,’a’) ! [T] the null string is padded write(*,*) llt(’a’,’’) ! [F] print *,’elemental’ write(*,*) llt(’abc’,[’abc’,’123’]) ! [F F] scalar and array write(*,*) llt([’cba’, ’123’],’abc’) ! [F T] write(*,*) llt([’abc’,’123’],[’cba’,’123’]) ! [T F] both arrays end program demo_llt

Results:

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

STANDARD

FORTRAN 77

SEE ALSO

LGE(3), LGT(3), LLE(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 intrinsic descriptions (license: MIT) @urbanjost


Nemo Release 3.1 llt (3fortran) November 02, 2024
Generated by manServer 1.08 from 35ddef83-fd98-4b0f-8d92-a6c70b9e1aac using man macros.