ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayCompareLex::operator(.lle.) Interface Reference

Generate and return the result of the lexicographic comparison of two input objects of the same type, kind, and rank using the <= operator. More...

Detailed Description

Generate and return the result of the lexicographic comparison of two input objects of the same type, kind, and rank using the <= operator.

For more information about the lexicographic comparisons defined in this generic procedure, in particular, in the context of complex and logical arrays, see the detailed description of pm_arrayCompareLex.

Parameters
[in]array1: The input contiguous array of rank 1 of either
  • type character of kind any supported by the processor (e.g., SK, SKA, SKD , or SKU) or,
  • type integer of kind any supported by the processor (e.g., IK, IK8, IK16, IK32, or IK64) or,
  • type logical of kind any supported by the processor (e.g., LK) or,
  • type complex of kind any supported by the processor (e.g., CK, CK32, CK64, or CK128) or,
  • type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128) or,
or,
  • a scalar assumed-length character of kind any supported by the processor (e.g., SK, SKA, SKD , or SKU),
whose contents will be lexicographically compared with the contents of array2.
[in]array2: The input of the same type, kind, and rank as array1.
Returns
compares : The output scalar of type logical of default kind LK containing the result of the lexical comparison of the values of the two input objects.


Possible calling interfaces

use pm_kind, only: LK
use pm_arrayCompareLex, only: operator(.lle.)
logical(LK) :: compares
compares = array1 .lle. array2
This module contains procedures and generic interfaces for performing lexicographic comparisons of tw...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
Remarks
The operator .lle. stands for lexically less than or equal to.
The procedures under discussion are pure.
See also
operator(.llt.)
operator(.lle.)
operator(.lge.)
operator(.lgt.)


Example usage

1program example
2
3 use pm_kind, only: LK ! The default `logical` kind.
4 use pm_kind, only: SK ! The default `character` kind.
5 use pm_kind, only: IK ! All other kinds are also supported.
6 use pm_kind, only: CK ! All other kinds are also supported.
7 use pm_kind, only: RK ! All other kinds are also supported.
8 use pm_arrayCompareLex, only: operator(.lle.)
9 use pm_distUnif, only: setUnifRand
10 use pm_io, only: display_type
11
12 implicit none
13
14 type(display_type) :: disp
15
16 disp = display_type(file = "main.out.F90")
17
18 call disp%skip()
19 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
20 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
21 call disp%show("! Lexically compare two scalar strings with the `< ` operator.")
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
24 call disp%skip()
25
26 call disp%show("SK_'ParaMonte' .lle. SK_'ParaMonte'")
27 call disp%show( SK_'ParaMonte' .lle. SK_'ParaMonte' )
28 call disp%skip()
29
30 call disp%show("SK_'ParaMonte' .lle. SK_'Paramonte'")
31 call disp%show( SK_'ParaMonte' .lle. SK_'Paramonte' )
32 call disp%skip()
33
34 call disp%show("SK_'ParaMonte' .lle. SK_'ParaMonteX'")
35 call disp%show( SK_'ParaMonte' .lle. SK_'ParaMonteX' )
36 call disp%skip()
37
38 call disp%show("SK_'ParaMonteX' .lle. SK_'ParaMonte'")
39 call disp%show( SK_'ParaMonteX' .lle. SK_'ParaMonte' )
40 call disp%skip()
41
42 call disp%show("SK_'ParaMonte' .lle. SK_'ParaMonte ' ! Compare with the Fortran intrinsic lexical comparison below.")
43 call disp%show( SK_'ParaMonte' .lle. SK_'ParaMonte ' )
44 call disp%skip()
45
46 call disp%show("SK_'ParaMonte' <= SK_'ParaMonte ' ! Compare with the lexical comparison above.")
47 call disp%show( SK_'ParaMonte' <= SK_'ParaMonte ' )
48 call disp%skip()
49
50 call disp%show("SK_'ParaMonte ' .lle. SK_'ParaMonte' ! Compare with the Fortran intrinsic lexical comparison below.")
51 call disp%show( SK_'ParaMonte ' .lle. SK_'ParaMonte' )
52 call disp%skip()
53
54 call disp%show("SK_'ParaMonte ' <= SK_'ParaMonte' ! Compare with the lexical comparison above.")
55 call disp%show( SK_'ParaMonte ' <= SK_'ParaMonte' )
56 call disp%skip()
57
58 call disp%skip()
59 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
60 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
61 call disp%show("! Lexically compare two vector of logical with the `< ` operator.")
62 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
63 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
64 call disp%skip()
65
66 call disp%show("[.false._LK] .lle. [.false._LK]")
67 call disp%show( [.false._LK] .lle. [.false._LK] )
68 call disp%skip()
69
70 call disp%show("[.false._LK] .lle. [.true._LK]")
71 call disp%show( [.false._LK] .lle. [.true._LK] )
72 call disp%skip()
73
74 call disp%show("[.true._LK] .lle. [.false._LK]")
75 call disp%show( [.true._LK] .lle. [.false._LK] )
76 call disp%skip()
77
78 call disp%show("[.true._LK] .lle. [.true._LK]")
79 call disp%show( [.true._LK] .lle. [.true._LK] )
80 call disp%skip()
81
82 call disp%show("[.true._LK] .lle. [.true._LK, .true._LK]")
83 call disp%show( [.true._LK] .lle. [.true._LK, .true._LK] )
84 call disp%skip()
85
86 call disp%show("[.true._LK] .lle. [.false._LK, .true._LK]")
87 call disp%show( [.true._LK] .lle. [.false._LK, .true._LK] )
88 call disp%skip()
89
90 call disp%show("[.true._LK, .true._LK] .lle. [.true._LK, .true._LK]")
91 call disp%show( [.true._LK, .true._LK] .lle. [.true._LK, .true._LK] )
92 call disp%skip()
93
94 call disp%show("[.true._LK, .false._LK] .lle. [.true._LK, .true._LK]")
95 call disp%show( [.true._LK, .false._LK] .lle. [.true._LK, .true._LK] )
96 call disp%skip()
97
98 call disp%show("[.true._LK, .true._LK] .lle. [.true._LK, .false._LK]")
99 call disp%show( [.true._LK, .true._LK] .lle. [.true._LK, .false._LK] )
100 call disp%skip()
101
102 call disp%skip()
103 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
104 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
105 call disp%show("! Lexically compare two vector of integer with the `< ` operator.")
106 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
107 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
108 call disp%skip()
109
110 call disp%show("[+0_IK] .lle. [-1_IK]")
111 call disp%show( [+0_IK] .lle. [-1_IK] )
112 call disp%skip()
113
114 call disp%show("[+0_IK] .lle. [+0_IK]")
115 call disp%show( [+0_IK] .lle. [+0_IK] )
116 call disp%skip()
117
118 call disp%show("[+0_IK] .lle. [+1_IK]")
119 call disp%show( [+0_IK] .lle. [+1_IK] )
120 call disp%skip()
121
122 call disp%show("[+0_IK] .lle. [+0_IK, -1_IK]")
123 call disp%show( [+0_IK] .lle. [+0_IK, -1_IK] )
124 call disp%skip()
125
126 call disp%show("[+0_IK] .lle. [+0_IK, +0_IK]")
127 call disp%show( [+0_IK] .lle. [+0_IK, +0_IK] )
128 call disp%skip()
129
130 call disp%show("[+0_IK] .lle. [+0_IK, +1_IK]")
131 call disp%show( [+0_IK] .lle. [+0_IK, +1_IK] )
132 call disp%skip()
133
134 call disp%show("[+0_IK, +0_IK] .lle. [-1_IK, -1_IK]")
135 call disp%show( [+0_IK, +0_IK] .lle. [-1_IK, -1_IK] )
136 call disp%skip()
137
138 call disp%show("[+0_IK, +0_IK] .lle. [-1_IK, +0_IK]")
139 call disp%show( [+0_IK, +0_IK] .lle. [-1_IK, +0_IK] )
140 call disp%skip()
141
142 call disp%show("[+0_IK, +0_IK] .lle. [-1_IK, +1_IK]")
143 call disp%show( [+0_IK, +0_IK] .lle. [-1_IK, +1_IK] )
144 call disp%skip()
145
146 call disp%show("[+0_IK, +0_IK] .lle. [+0_IK, -1_IK]")
147 call disp%show( [+0_IK, +0_IK] .lle. [+0_IK, -1_IK] )
148 call disp%skip()
149
150 call disp%show("[+0_IK, +0_IK] .lle. [+0_IK, +0_IK]")
151 call disp%show( [+0_IK, +0_IK] .lle. [+0_IK, +0_IK] )
152 call disp%skip()
153
154 call disp%show("[+0_IK, +0_IK] .lle. [+0_IK, +1_IK]")
155 call disp%show( [+0_IK, +0_IK] .lle. [+0_IK, +1_IK] )
156 call disp%skip()
157
158 call disp%show("[+0_IK, +0_IK] .lle. [+1_IK, -1_IK]")
159 call disp%show( [+0_IK, +0_IK] .lle. [+1_IK, -1_IK] )
160 call disp%skip()
161
162 call disp%show("[+0_IK, +0_IK] .lle. [+1_IK, +0_IK]")
163 call disp%show( [+0_IK, +0_IK] .lle. [+1_IK, +0_IK] )
164 call disp%skip()
165
166 call disp%show("[+0_IK, +0_IK] .lle. [+1_IK, +1_IK]")
167 call disp%show( [+0_IK, +0_IK] .lle. [+1_IK, +1_IK] )
168 call disp%skip()
169
170 call disp%skip()
171 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
172 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
173 call disp%show("! Lexically compare two vector of real with the `< ` operator.")
174 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
175 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
176 call disp%skip()
177
178 call disp%show("[+0._RK] .lle. [-1._RK]")
179 call disp%show( [+0._RK] .lle. [-1._RK] )
180 call disp%skip()
181
182 call disp%show("[+0._RK] .lle. [+0._RK]")
183 call disp%show( [+0._RK] .lle. [+0._RK] )
184 call disp%skip()
185
186 call disp%show("[+0._RK] .lle. [+1._RK]")
187 call disp%show( [+0._RK] .lle. [+1._RK] )
188 call disp%skip()
189
190 call disp%show("[+0._RK] .lle. [+0._RK, -1._RK]")
191 call disp%show( [+0._RK] .lle. [+0._RK, -1._RK] )
192 call disp%skip()
193
194 call disp%show("[+0._RK] .lle. [+0._RK, +0._RK]")
195 call disp%show( [+0._RK] .lle. [+0._RK, +0._RK] )
196 call disp%skip()
197
198 call disp%show("[+0._RK] .lle. [+0._RK, +1._RK]")
199 call disp%show( [+0._RK] .lle. [+0._RK, +1._RK] )
200 call disp%skip()
201
202 call disp%show("[+0._RK, +0._RK] .lle. [-1._RK, -1._RK]")
203 call disp%show( [+0._RK, +0._RK] .lle. [-1._RK, -1._RK] )
204 call disp%skip()
205
206 call disp%show("[+0._RK, +0._RK] .lle. [-1._RK, +0._RK]")
207 call disp%show( [+0._RK, +0._RK] .lle. [-1._RK, +0._RK] )
208 call disp%skip()
209
210 call disp%show("[+0._RK, +0._RK] .lle. [-1._RK, +1._RK]")
211 call disp%show( [+0._RK, +0._RK] .lle. [-1._RK, +1._RK] )
212 call disp%skip()
213
214 call disp%show("[+0._RK, +0._RK] .lle. [+0._RK, -1._RK]")
215 call disp%show( [+0._RK, +0._RK] .lle. [+0._RK, -1._RK] )
216 call disp%skip()
217
218 call disp%show("[+0._RK, +0._RK] .lle. [+0._RK, +0._RK]")
219 call disp%show( [+0._RK, +0._RK] .lle. [+0._RK, +0._RK] )
220 call disp%skip()
221
222 call disp%show("[+0._RK, +0._RK] .lle. [+0._RK, +1._RK]")
223 call disp%show( [+0._RK, +0._RK] .lle. [+0._RK, +1._RK] )
224 call disp%skip()
225
226 call disp%show("[+0._RK, +0._RK] .lle. [+1._RK, -1._RK]")
227 call disp%show( [+0._RK, +0._RK] .lle. [+1._RK, -1._RK] )
228 call disp%skip()
229
230 call disp%show("[+0._RK, +0._RK] .lle. [+1._RK, +0._RK]")
231 call disp%show( [+0._RK, +0._RK] .lle. [+1._RK, +0._RK] )
232 call disp%skip()
233
234 call disp%show("[+0._RK, +0._RK] .lle. [+1._RK, +1._RK]")
235 call disp%show( [+0._RK, +0._RK] .lle. [+1._RK, +1._RK] )
236 call disp%skip()
237
238 call disp%skip()
239 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
240 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
241 call disp%show("! Lexically compare two vector of integer with the `< ` operator.")
242 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
243 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
244 call disp%skip()
245
246 call disp%show("[(+0._RK, +0._RK)] .lle. [(-1._RK, -1._RK)]")
247 call disp%show( [(+0._RK, +0._RK)] .lle. [(-1._RK, -1._RK)] )
248 call disp%skip()
249
250 call disp%show("[(+0._RK, +0._RK)] .lle. [(-1._RK, +1._RK)]")
251 call disp%show( [(+0._RK, +0._RK)] .lle. [(-1._RK, +1._RK)] )
252 call disp%skip()
253
254 call disp%show("[(+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK)]")
255 call disp%show( [(+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK)] )
256 call disp%skip()
257
258 call disp%show("[(+0._RK, +0._RK)] .lle. [(+1._RK, +1._RK)]")
259 call disp%show( [(+0._RK, +0._RK)] .lle. [(+1._RK, +1._RK)] )
260 call disp%skip()
261
262 call disp%show("[(+0._RK, +0._RK)] .lle. [(+1._RK, -1._RK)]")
263 call disp%show( [(+0._RK, +0._RK)] .lle. [(+1._RK, -1._RK)] )
264 call disp%skip()
265
266 call disp%show("[(+0._RK, +0._RK)] .lle. [(+0._RK, +1._RK), (-1._RK, -1._RK)]")
267 call disp%show( [(+0._RK, +0._RK)] .lle. [(+0._RK, +1._RK), (-1._RK, -1._RK)] )
268 call disp%skip()
269
270 call disp%show("[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (-1._RK, -1._RK)]")
271 call disp%show( [(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (-1._RK, -1._RK)] )
272 call disp%skip()
273
274 call disp%show("[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, -1._RK)]")
275 call disp%show( [(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, -1._RK)] )
276 call disp%skip()
277
278 call disp%show("[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, +1._RK)]")
279 call disp%show( [(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, +1._RK)] )
280 call disp%skip()
281
282 call disp%show("[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+1._RK, +1._RK)]")
283 call disp%show( [(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+1._RK, +1._RK)] )
284 call disp%skip()
285
286end program example
Return a uniform random scalar or contiguous array of arbitrary rank of randomly uniformly distribute...
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11726
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11508
This module contains classes and procedures for computing various statistical quantities related to t...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
Definition: pm_io.F90:252
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
Definition: pm_io.F90:11393
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter CK
The default complex kind in the ParaMonte library: real64 in Fortran, c_double_complex in C-Fortran I...
Definition: pm_kind.F90:542
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
Generate and return an object of type display_type.
Definition: pm_io.F90:10282

Example Unix compile command via Intel ifort compiler
1#!/usr/bin/env sh
2rm main.exe
3ifort -fpp -standard-semantics -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example Windows Batch compile command via Intel ifort compiler
1del main.exe
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standard-semantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
4main.exe

Example Unix / MinGW compile command via GNU gfortran compiler
1#!/usr/bin/env sh
2rm main.exe
3gfortran -cpp -ffree-line-length-none -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example output
1
2!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4! Lexically compare two scalar strings with the `< ` operator.
5!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
8SK_'ParaMonte' .lle. SK_'ParaMonte'
9T
10
11SK_'ParaMonte' .lle. SK_'Paramonte'
12T
13
14SK_'ParaMonte' .lle. SK_'ParaMonteX'
15T
16
17SK_'ParaMonteX' .lle. SK_'ParaMonte'
18F
19
20SK_'ParaMonte' .lle. SK_'ParaMonte ' ! Compare with the Fortran intrinsic lexical comparison below.
21T
22
23SK_'ParaMonte' <= SK_'ParaMonte ' ! Compare with the lexical comparison above.
24T
25
26SK_'ParaMonte ' .lle. SK_'ParaMonte' ! Compare with the Fortran intrinsic lexical comparison below.
27F
28
29SK_'ParaMonte ' <= SK_'ParaMonte' ! Compare with the lexical comparison above.
30T
31
32
33!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35! Lexically compare two vector of logical with the `< ` operator.
36!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38
39[.false._LK] .lle. [.false._LK]
40T
41
42[.false._LK] .lle. [.true._LK]
43T
44
45[.true._LK] .lle. [.false._LK]
46F
47
48[.true._LK] .lle. [.true._LK]
49T
50
51[.true._LK] .lle. [.true._LK, .true._LK]
52T
53
54[.true._LK] .lle. [.false._LK, .true._LK]
55F
56
57[.true._LK, .true._LK] .lle. [.true._LK, .true._LK]
58T
59
60[.true._LK, .false._LK] .lle. [.true._LK, .true._LK]
61T
62
63[.true._LK, .true._LK] .lle. [.true._LK, .false._LK]
64F
65
66
67!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69! Lexically compare two vector of integer with the `< ` operator.
70!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
72
73[+0_IK] .lle. [-1_IK]
74F
75
76[+0_IK] .lle. [+0_IK]
77T
78
79[+0_IK] .lle. [+1_IK]
80T
81
82[+0_IK] .lle. [+0_IK, -1_IK]
83T
84
85[+0_IK] .lle. [+0_IK, +0_IK]
86T
87
88[+0_IK] .lle. [+0_IK, +1_IK]
89T
90
91[+0_IK, +0_IK] .lle. [-1_IK, -1_IK]
92F
93
94[+0_IK, +0_IK] .lle. [-1_IK, +0_IK]
95F
96
97[+0_IK, +0_IK] .lle. [-1_IK, +1_IK]
98F
99
100[+0_IK, +0_IK] .lle. [+0_IK, -1_IK]
101F
102
103[+0_IK, +0_IK] .lle. [+0_IK, +0_IK]
104T
105
106[+0_IK, +0_IK] .lle. [+0_IK, +1_IK]
107T
108
109[+0_IK, +0_IK] .lle. [+1_IK, -1_IK]
110T
111
112[+0_IK, +0_IK] .lle. [+1_IK, +0_IK]
113T
114
115[+0_IK, +0_IK] .lle. [+1_IK, +1_IK]
116T
117
118
119!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121! Lexically compare two vector of real with the `< ` operator.
122!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
124
125[+0._RK] .lle. [-1._RK]
126F
127
128[+0._RK] .lle. [+0._RK]
129T
130
131[+0._RK] .lle. [+1._RK]
132T
133
134[+0._RK] .lle. [+0._RK, -1._RK]
135T
136
137[+0._RK] .lle. [+0._RK, +0._RK]
138T
139
140[+0._RK] .lle. [+0._RK, +1._RK]
141T
142
143[+0._RK, +0._RK] .lle. [-1._RK, -1._RK]
144F
145
146[+0._RK, +0._RK] .lle. [-1._RK, +0._RK]
147F
148
149[+0._RK, +0._RK] .lle. [-1._RK, +1._RK]
150F
151
152[+0._RK, +0._RK] .lle. [+0._RK, -1._RK]
153F
154
155[+0._RK, +0._RK] .lle. [+0._RK, +0._RK]
156T
157
158[+0._RK, +0._RK] .lle. [+0._RK, +1._RK]
159T
160
161[+0._RK, +0._RK] .lle. [+1._RK, -1._RK]
162T
163
164[+0._RK, +0._RK] .lle. [+1._RK, +0._RK]
165T
166
167[+0._RK, +0._RK] .lle. [+1._RK, +1._RK]
168T
169
170
171!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173! Lexically compare two vector of integer with the `< ` operator.
174!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
176
177[(+0._RK, +0._RK)] .lle. [(-1._RK, -1._RK)]
178F
179
180[(+0._RK, +0._RK)] .lle. [(-1._RK, +1._RK)]
181F
182
183[(+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK)]
184T
185
186[(+0._RK, +0._RK)] .lle. [(+1._RK, +1._RK)]
187T
188
189[(+0._RK, +0._RK)] .lle. [(+1._RK, -1._RK)]
190T
191
192[(+0._RK, +0._RK)] .lle. [(+0._RK, +1._RK), (-1._RK, -1._RK)]
193T
194
195[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (-1._RK, -1._RK)]
196F
197
198[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, -1._RK)]
199F
200
201[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+0._RK, +1._RK)]
202T
203
204[(+0._RK, +0._RK), (+0._RK, +0._RK)] .lle. [(+0._RK, +0._RK), (+1._RK, +1._RK)]
205T
206
207
Test:
test_pm_arrayCompareLex
Todo:
Very Low Priority: The functionality of this generic interface should be extended to input container arguments, also to arrays of higher ranks.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas Austin

Definition at line 593 of file pm_arrayCompareLex.F90.


The documentation for this interface was generated from the following file: