Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2024 CP2K developers group <https://cp2k.org> !
4 : ! !
5 : ! SPDX-License-Identifier: GPL-2.0-or-later !
6 : !--------------------------------------------------------------------------------------------------!
7 :
8 : ! **************************************************************************************************
9 : !> \brief Utilities for string manipulations
10 : !> \par History
11 : !> Adapted compress and uppercase for use in CP2K (JGH)
12 : !> string_to_integer and integer_to_string added (06.02.2001, MK)
13 : !> Cleaned (04.01.2004,MK)
14 : !> \author MK & JGH
15 : ! **************************************************************************************************
16 : MODULE string_utilities
17 :
18 : USE ISO_C_BINDING, ONLY: C_CHAR,&
19 : C_NULL_CHAR
20 : USE kinds, ONLY: default_blank_character
21 :
22 : IMPLICIT NONE
23 :
24 : PRIVATE
25 :
26 : CHARACTER(LEN=1), PARAMETER :: backslash = '\\'
27 : CHARACTER(LEN=1), PARAMETER :: star = '*'
28 : CHARACTER(LEN=1), PARAMETER :: question = '?'
29 : CHARACTER(LEN=1), PARAMETER :: newline = ACHAR(10)
30 :
31 : PUBLIC :: ascii_to_string, &
32 : compress, &
33 : integer_to_string, &
34 : is_whitespace, &
35 : remove_word, &
36 : s2a, a2s, &
37 : str_comp, &
38 : string_to_ascii, &
39 : strip_control_codes, &
40 : substitute_special_xml_tokens, &
41 : typo_match, &
42 : uppercase, &
43 : xstring, &
44 : strlcpy_c2f
45 :
46 : PUBLIC :: newline
47 :
48 : INTERFACE s2a
49 : MODULE PROCEDURE s2a_1, s2a_2, s2a_3, s2a_4, s2a_5, s2a_6, s2a_7, s2a_8, s2a_9, &
50 : s2a_10, s2a_11, s2a_12, s2a_13, s2a_14, s2a_15, s2a_16, s2a_17, s2a_18, s2a_19, &
51 : s2a_20, s2a_21, s2a_22, s2a_23, s2a_24, s2a_25, s2a_26, s2a_27, s2a_28, s2a_29, &
52 : s2a_30, s2a_31, s2a_32, s2a_33, s2a_34, s2a_35, s2a_36, s2a_37, s2a_38, s2a_39, &
53 : s2a_40, s2a_41, s2a_42, s2a_43, s2a_44, s2a_45, s2a_46, s2a_47, s2a_48, s2a_49, &
54 : s2a_50, s2a_51, s2a_52, s2a_53, s2a_54, s2a_55, s2a_56, s2a_57, s2a_58, s2a_59 ! should be clear how to add more
55 : END INTERFACE
56 :
57 : CONTAINS
58 :
59 : ! **************************************************************************************************
60 : !> \brief returns a non-zero positive value if typo_string equals string apart from a few typos.
61 : !> It is case sensitive, apart from typos.
62 : !> \param string ...
63 : !> \param typo_string ...
64 : !> \return ...
65 : !> \par History
66 : !> 02.2006 created [Joost VandeVondele]
67 : !> 09.2020 switch to Levenshtein distance [Ole Schuett]
68 : ! **************************************************************************************************
69 0 : ELEMENTAL FUNCTION typo_match(string, typo_string) RESULT(match)
70 : CHARACTER(LEN=*), INTENT(IN) :: string, typo_string
71 : INTEGER :: match
72 :
73 0 : match = MAX(0, 100 - levenshtein_distance(string, typo_string))
74 :
75 0 : END FUNCTION typo_match
76 :
77 : ! **************************************************************************************************
78 : !> \brief Compute the Levenshtein edit distance between the two given strings.
79 : !> \param s source string
80 : !> \param t target string
81 : !> \return edit distance
82 : !> \author Ole Schuett
83 : ! **************************************************************************************************
84 0 : PURE FUNCTION levenshtein_distance(s, t) RESULT(distance)
85 :
86 : CHARACTER(LEN=*), INTENT(IN) :: s, t
87 : INTEGER :: distance
88 :
89 : INTEGER :: i, j, m, n, substitution_cost
90 0 : INTEGER, ALLOCATABLE, DIMENSION(:, :) :: d
91 :
92 0 : m = LEN_TRIM(s)
93 0 : n = LEN_TRIM(t)
94 :
95 : ! distance between the first i characters of s and the first j characters of t
96 0 : ALLOCATE (d(0:m, 0:n))
97 0 : d(:, :) = 0
98 :
99 : ! source prefixes can be transformed into empty string by dropping all characters
100 0 : DO i = 1, m
101 0 : d(i, 0) = i
102 : END DO
103 :
104 : ! target prefixes can be reached from empty source prefix by inserting every character
105 0 : DO j = 1, n
106 0 : d(0, j) = j
107 : END DO
108 :
109 0 : DO j = 1, n
110 0 : DO i = 1, m
111 0 : IF (s(i:i) == t(j:j)) THEN
112 : substitution_cost = 0
113 : ELSE
114 0 : substitution_cost = 1
115 : END IF
116 : d(i, j) = MIN(d(i - 1, j) + 1, & ! deletion
117 : d(i, j - 1) + 1, & ! insertion
118 0 : d(i - 1, j - 1) + substitution_cost) ! substitution
119 : END DO
120 : END DO
121 :
122 0 : distance = d(m, n)
123 :
124 0 : END FUNCTION levenshtein_distance
125 :
126 : ! **************************************************************************************************
127 : !> \brief Converts a character-array into a string
128 : !> \param array ...
129 : !> \return ...
130 : !> \par History
131 : !> 10.2013 created [Ole Schuett]
132 : ! **************************************************************************************************
133 21 : PURE FUNCTION a2s(array) RESULT(string)
134 : CHARACTER, DIMENSION(:), INTENT(IN) :: array
135 : CHARACTER(LEN=SIZE(array)) :: string
136 :
137 : INTEGER :: i
138 :
139 3109 : DO i = 1, SIZE(array)
140 3109 : string(i:i) = array(i)
141 : END DO
142 21 : END FUNCTION a2s
143 :
144 : ! **************************************************************************************************
145 : !> \brief converts a bunch of strings of different length to an array of
146 : !> strings of the same length
147 : !> \param s1 ...
148 : !> \return ...
149 : !> \par History
150 : !> 11.2004 created [Joost VandeVondele ]
151 : !> \note
152 : !> can be used instead of the illegal (/"12","1234"/) generating
153 : !> s2a("12","1234").EQ.(/"12 ","1234"/)
154 : ! **************************************************************************************************
155 1805960 : PURE FUNCTION s2a_1(s1) RESULT(a)
156 : CHARACTER(LEN=*), INTENT(IN) :: s1
157 : CHARACTER(LEN=1000), DIMENSION(1) :: a
158 :
159 1805960 : a(1) = s1
160 1805960 : END FUNCTION s2a_1
161 : ! **************************************************************************************************
162 : ! **************************************************************************************************
163 : !> \brief ...
164 : !> \param s1 ...
165 : !> \param s2 ...
166 : !> \return ...
167 : ! **************************************************************************************************
168 10248060 : PURE FUNCTION s2a_2(s1, s2) RESULT(a)
169 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2
170 : CHARACTER(LEN=1000), DIMENSION(2) :: a
171 :
172 5124030 : a(1) = s1; a(2) = s2
173 5124030 : END FUNCTION s2a_2
174 : ! **************************************************************************************************
175 : ! **************************************************************************************************
176 : !> \brief ...
177 : !> \param s1 ...
178 : !> \param s2 ...
179 : !> \param s3 ...
180 : !> \return ...
181 : ! **************************************************************************************************
182 34546594 : PURE FUNCTION s2a_3(s1, s2, s3) RESULT(a)
183 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3
184 : CHARACTER(LEN=1000), DIMENSION(3) :: a
185 :
186 17273297 : a(1) = s1; a(2) = s2; a(3) = s3
187 17273297 : END FUNCTION s2a_3
188 : ! **************************************************************************************************
189 : ! **************************************************************************************************
190 : !> \brief ...
191 : !> \param s1 ...
192 : !> \param s2 ...
193 : !> \param s3 ...
194 : !> \param s4 ...
195 : !> \return ...
196 : ! **************************************************************************************************
197 5058796 : PURE FUNCTION s2a_4(s1, s2, s3, s4) RESULT(a)
198 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4
199 : CHARACTER(LEN=1000), DIMENSION(4) :: a
200 :
201 2529398 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4
202 2529398 : END FUNCTION s2a_4
203 : ! **************************************************************************************************
204 : ! **************************************************************************************************
205 : !> \brief ...
206 : !> \param s1 ...
207 : !> \param s2 ...
208 : !> \param s3 ...
209 : !> \param s4 ...
210 : !> \param s5 ...
211 : !> \return ...
212 : ! **************************************************************************************************
213 3200932 : PURE FUNCTION s2a_5(s1, s2, s3, s4, s5) RESULT(a)
214 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5
215 : CHARACTER(LEN=1000), DIMENSION(5) :: a
216 :
217 1600466 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
218 1600466 : END FUNCTION s2a_5
219 : ! **************************************************************************************************
220 : ! **************************************************************************************************
221 : !> \brief ...
222 : !> \param s1 ...
223 : !> \param s2 ...
224 : !> \param s3 ...
225 : !> \param s4 ...
226 : !> \param s5 ...
227 : !> \param s6 ...
228 : !> \return ...
229 : ! **************************************************************************************************
230 2348116 : PURE FUNCTION s2a_6(s1, s2, s3, s4, s5, s6) RESULT(a)
231 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6
232 : CHARACTER(LEN=1000), DIMENSION(6) :: a
233 :
234 1174058 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6
235 1174058 : END FUNCTION s2a_6
236 : ! **************************************************************************************************
237 : ! **************************************************************************************************
238 : !> \brief ...
239 : !> \param s1 ...
240 : !> \param s2 ...
241 : !> \param s3 ...
242 : !> \param s4 ...
243 : !> \param s5 ...
244 : !> \param s6 ...
245 : !> \param s7 ...
246 : !> \return ...
247 : ! **************************************************************************************************
248 12615150 : PURE FUNCTION s2a_7(s1, s2, s3, s4, s5, s6, s7) RESULT(a)
249 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7
250 : CHARACTER(LEN=1000), DIMENSION(7) :: a
251 :
252 6307575 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
253 6307575 : END FUNCTION s2a_7
254 : ! **************************************************************************************************
255 : ! **************************************************************************************************
256 : !> \brief ...
257 : !> \param s1 ...
258 : !> \param s2 ...
259 : !> \param s3 ...
260 : !> \param s4 ...
261 : !> \param s5 ...
262 : !> \param s6 ...
263 : !> \param s7 ...
264 : !> \param s8 ...
265 : !> \return ...
266 : ! **************************************************************************************************
267 884084 : PURE FUNCTION s2a_8(s1, s2, s3, s4, s5, s6, s7, s8) RESULT(a)
268 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8
269 : CHARACTER(LEN=1000), DIMENSION(8) :: a
270 :
271 442042 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
272 442042 : a(8) = s8
273 442042 : END FUNCTION s2a_8
274 : ! **************************************************************************************************
275 : ! **************************************************************************************************
276 : !> \brief ...
277 : !> \param s1 ...
278 : !> \param s2 ...
279 : !> \param s3 ...
280 : !> \param s4 ...
281 : !> \param s5 ...
282 : !> \param s6 ...
283 : !> \param s7 ...
284 : !> \param s8 ...
285 : !> \param s9 ...
286 : !> \return ...
287 : ! **************************************************************************************************
288 968084 : PURE FUNCTION s2a_9(s1, s2, s3, s4, s5, s6, s7, s8, s9) RESULT(a)
289 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9
290 : CHARACTER(LEN=1000), DIMENSION(9) :: a
291 :
292 484042 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
293 484042 : a(8) = s8; a(9) = s9
294 484042 : END FUNCTION s2a_9
295 : ! **************************************************************************************************
296 : ! **************************************************************************************************
297 : !> \brief ...
298 : !> \param s1 ...
299 : !> \param s2 ...
300 : !> \param s3 ...
301 : !> \param s4 ...
302 : !> \param s5 ...
303 : !> \param s6 ...
304 : !> \param s7 ...
305 : !> \param s8 ...
306 : !> \param s9 ...
307 : !> \param s10 ...
308 : !> \return ...
309 : ! **************************************************************************************************
310 287208 : PURE FUNCTION s2a_10(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10) RESULT(a)
311 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10
312 : CHARACTER(LEN=1000), DIMENSION(10) :: a
313 :
314 143604 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
315 143604 : a(8) = s8; a(9) = s9; a(10) = s10
316 143604 : END FUNCTION s2a_10
317 : ! **************************************************************************************************
318 : ! **************************************************************************************************
319 : !> \brief ...
320 : !> \param s1 ...
321 : !> \param s2 ...
322 : !> \param s3 ...
323 : !> \param s4 ...
324 : !> \param s5 ...
325 : !> \param s6 ...
326 : !> \param s7 ...
327 : !> \param s8 ...
328 : !> \param s9 ...
329 : !> \param s10 ...
330 : !> \param s11 ...
331 : !> \return ...
332 : ! **************************************************************************************************
333 16872 : PURE FUNCTION s2a_11(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11) RESULT(a)
334 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
335 : s11
336 : CHARACTER(LEN=1000), DIMENSION(11) :: a
337 :
338 8436 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
339 8436 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11
340 8436 : END FUNCTION s2a_11
341 : ! **************************************************************************************************
342 : ! **************************************************************************************************
343 : !> \brief ...
344 : !> \param s1 ...
345 : !> \param s2 ...
346 : !> \param s3 ...
347 : !> \param s4 ...
348 : !> \param s5 ...
349 : !> \param s6 ...
350 : !> \param s7 ...
351 : !> \param s8 ...
352 : !> \param s9 ...
353 : !> \param s10 ...
354 : !> \param s11 ...
355 : !> \param s12 ...
356 : !> \return ...
357 : ! **************************************************************************************************
358 0 : PURE FUNCTION s2a_12(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12) RESULT(a)
359 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
360 : s11, s12
361 : CHARACTER(LEN=1000), DIMENSION(12) :: a
362 :
363 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
364 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12
365 0 : END FUNCTION s2a_12
366 : ! **************************************************************************************************
367 : ! **************************************************************************************************
368 : !> \brief ...
369 : !> \param s1 ...
370 : !> \param s2 ...
371 : !> \param s3 ...
372 : !> \param s4 ...
373 : !> \param s5 ...
374 : !> \param s6 ...
375 : !> \param s7 ...
376 : !> \param s8 ...
377 : !> \param s9 ...
378 : !> \param s10 ...
379 : !> \param s11 ...
380 : !> \param s12 ...
381 : !> \param s13 ...
382 : !> \return ...
383 : ! **************************************************************************************************
384 270272 : PURE FUNCTION s2a_13(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13) RESULT(a)
385 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
386 : s11, s12, s13
387 : CHARACTER(LEN=1000), DIMENSION(13) :: a
388 :
389 135136 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
390 135136 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13
391 135136 : END FUNCTION s2a_13
392 : ! **************************************************************************************************
393 : ! **************************************************************************************************
394 : !> \brief ...
395 : !> \param s1 ...
396 : !> \param s2 ...
397 : !> \param s3 ...
398 : !> \param s4 ...
399 : !> \param s5 ...
400 : !> \param s6 ...
401 : !> \param s7 ...
402 : !> \param s8 ...
403 : !> \param s9 ...
404 : !> \param s10 ...
405 : !> \param s11 ...
406 : !> \param s12 ...
407 : !> \param s13 ...
408 : !> \param s14 ...
409 : !> \return ...
410 : ! **************************************************************************************************
411 260868 : PURE FUNCTION s2a_14(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14) RESULT(a)
412 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
413 : s11, s12, s13, s14
414 : CHARACTER(LEN=1000), DIMENSION(14) :: a
415 :
416 130434 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
417 130434 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
418 130434 : END FUNCTION s2a_14
419 : ! **************************************************************************************************
420 : ! **************************************************************************************************
421 : !> \brief ...
422 : !> \param s1 ...
423 : !> \param s2 ...
424 : !> \param s3 ...
425 : !> \param s4 ...
426 : !> \param s5 ...
427 : !> \param s6 ...
428 : !> \param s7 ...
429 : !> \param s8 ...
430 : !> \param s9 ...
431 : !> \param s10 ...
432 : !> \param s11 ...
433 : !> \param s12 ...
434 : !> \param s13 ...
435 : !> \param s14 ...
436 : !> \param s15 ...
437 : !> \return ...
438 : ! **************************************************************************************************
439 16872 : PURE FUNCTION s2a_15(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15) RESULT(a)
440 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
441 : s11, s12, s13, s14, s15
442 : CHARACTER(LEN=1000), DIMENSION(15) :: a
443 :
444 8436 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
445 8436 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
446 8436 : a(15) = s15
447 8436 : END FUNCTION s2a_15
448 : ! **************************************************************************************************
449 : ! **************************************************************************************************
450 : !> \brief ...
451 : !> \param s1 ...
452 : !> \param s2 ...
453 : !> \param s3 ...
454 : !> \param s4 ...
455 : !> \param s5 ...
456 : !> \param s6 ...
457 : !> \param s7 ...
458 : !> \param s8 ...
459 : !> \param s9 ...
460 : !> \param s10 ...
461 : !> \param s11 ...
462 : !> \param s12 ...
463 : !> \param s13 ...
464 : !> \param s14 ...
465 : !> \param s15 ...
466 : !> \param s16 ...
467 : !> \return ...
468 : ! **************************************************************************************************
469 0 : PURE FUNCTION s2a_16(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
470 0 : s16) RESULT(a)
471 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
472 : s11, s12, s13, s14, s15, s16
473 : CHARACTER(LEN=1000), DIMENSION(16) :: a
474 :
475 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
476 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
477 0 : a(15) = s15; a(16) = s16
478 0 : END FUNCTION s2a_16
479 : ! **************************************************************************************************
480 : ! **************************************************************************************************
481 : !> \brief ...
482 : !> \param s1 ...
483 : !> \param s2 ...
484 : !> \param s3 ...
485 : !> \param s4 ...
486 : !> \param s5 ...
487 : !> \param s6 ...
488 : !> \param s7 ...
489 : !> \param s8 ...
490 : !> \param s9 ...
491 : !> \param s10 ...
492 : !> \param s11 ...
493 : !> \param s12 ...
494 : !> \param s13 ...
495 : !> \param s14 ...
496 : !> \param s15 ...
497 : !> \param s16 ...
498 : !> \param s17 ...
499 : !> \return ...
500 : ! **************************************************************************************************
501 16904 : PURE FUNCTION s2a_17(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
502 33808 : s16, s17) RESULT(a)
503 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
504 : s11, s12, s13, s14, s15, s16, s17
505 : CHARACTER(LEN=1000), DIMENSION(17) :: a
506 :
507 16904 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
508 16904 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
509 16904 : a(15) = s15; a(16) = s16; a(17) = s17
510 16904 : END FUNCTION s2a_17
511 : ! **************************************************************************************************
512 : ! **************************************************************************************************
513 : !> \brief ...
514 : !> \param s1 ...
515 : !> \param s2 ...
516 : !> \param s3 ...
517 : !> \param s4 ...
518 : !> \param s5 ...
519 : !> \param s6 ...
520 : !> \param s7 ...
521 : !> \param s8 ...
522 : !> \param s9 ...
523 : !> \param s10 ...
524 : !> \param s11 ...
525 : !> \param s12 ...
526 : !> \param s13 ...
527 : !> \param s14 ...
528 : !> \param s15 ...
529 : !> \param s16 ...
530 : !> \param s17 ...
531 : !> \param s18 ...
532 : !> \return ...
533 : ! **************************************************************************************************
534 0 : PURE FUNCTION s2a_18(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
535 0 : s16, s17, s18) RESULT(a)
536 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
537 : s11, s12, s13, s14, s15, s16, s17, s18
538 : CHARACTER(LEN=1000), DIMENSION(18) :: a
539 :
540 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
541 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
542 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18
543 0 : END FUNCTION s2a_18
544 : ! **************************************************************************************************
545 : ! **************************************************************************************************
546 : !> \brief ...
547 : !> \param s1 ...
548 : !> \param s2 ...
549 : !> \param s3 ...
550 : !> \param s4 ...
551 : !> \param s5 ...
552 : !> \param s6 ...
553 : !> \param s7 ...
554 : !> \param s8 ...
555 : !> \param s9 ...
556 : !> \param s10 ...
557 : !> \param s11 ...
558 : !> \param s12 ...
559 : !> \param s13 ...
560 : !> \param s14 ...
561 : !> \param s15 ...
562 : !> \param s16 ...
563 : !> \param s17 ...
564 : !> \param s18 ...
565 : !> \param s19 ...
566 : !> \return ...
567 : ! **************************************************************************************************
568 0 : PURE FUNCTION s2a_19(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
569 0 : s16, s17, s18, s19) RESULT(a)
570 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
571 : s11, s12, s13, s14, s15, s16, s17, &
572 : s18, s19
573 : CHARACTER(LEN=1000), DIMENSION(19) :: a
574 :
575 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
576 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
577 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19
578 0 : END FUNCTION s2a_19
579 : ! **************************************************************************************************
580 : ! **************************************************************************************************
581 : !> \brief ...
582 : !> \param s1 ...
583 : !> \param s2 ...
584 : !> \param s3 ...
585 : !> \param s4 ...
586 : !> \param s5 ...
587 : !> \param s6 ...
588 : !> \param s7 ...
589 : !> \param s8 ...
590 : !> \param s9 ...
591 : !> \param s10 ...
592 : !> \param s11 ...
593 : !> \param s12 ...
594 : !> \param s13 ...
595 : !> \param s14 ...
596 : !> \param s15 ...
597 : !> \param s16 ...
598 : !> \param s17 ...
599 : !> \param s18 ...
600 : !> \param s19 ...
601 : !> \param s20 ...
602 : !> \return ...
603 : ! **************************************************************************************************
604 0 : PURE FUNCTION s2a_20(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
605 0 : s16, s17, s18, s19, s20) RESULT(a)
606 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
607 : s11, s12, s13, s14, s15, s16, s17, &
608 : s18, s19, s20
609 : CHARACTER(LEN=1000), DIMENSION(20) :: a
610 :
611 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
612 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
613 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
614 0 : END FUNCTION s2a_20
615 : ! **************************************************************************************************
616 : ! **************************************************************************************************
617 : !> \brief ...
618 : !> \param s1 ...
619 : !> \param s2 ...
620 : !> \param s3 ...
621 : !> \param s4 ...
622 : !> \param s5 ...
623 : !> \param s6 ...
624 : !> \param s7 ...
625 : !> \param s8 ...
626 : !> \param s9 ...
627 : !> \param s10 ...
628 : !> \param s11 ...
629 : !> \param s12 ...
630 : !> \param s13 ...
631 : !> \param s14 ...
632 : !> \param s15 ...
633 : !> \param s16 ...
634 : !> \param s17 ...
635 : !> \param s18 ...
636 : !> \param s19 ...
637 : !> \param s20 ...
638 : !> \param s21 ...
639 : !> \return ...
640 : ! **************************************************************************************************
641 0 : PURE FUNCTION s2a_21(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
642 0 : s16, s17, s18, s19, s20, s21) RESULT(a)
643 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
644 : s11, s12, s13, s14, s15, s16, s17, &
645 : s18, s19, s20, s21
646 : CHARACTER(LEN=1000), DIMENSION(21) :: a
647 :
648 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
649 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
650 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
651 0 : a(21) = s21
652 0 : END FUNCTION s2a_21
653 : ! **************************************************************************************************
654 : ! **************************************************************************************************
655 : !> \brief ...
656 : !> \param s1 ...
657 : !> \param s2 ...
658 : !> \param s3 ...
659 : !> \param s4 ...
660 : !> \param s5 ...
661 : !> \param s6 ...
662 : !> \param s7 ...
663 : !> \param s8 ...
664 : !> \param s9 ...
665 : !> \param s10 ...
666 : !> \param s11 ...
667 : !> \param s12 ...
668 : !> \param s13 ...
669 : !> \param s14 ...
670 : !> \param s15 ...
671 : !> \param s16 ...
672 : !> \param s17 ...
673 : !> \param s18 ...
674 : !> \param s19 ...
675 : !> \param s20 ...
676 : !> \param s21 ...
677 : !> \param s22 ...
678 : !> \return ...
679 : ! **************************************************************************************************
680 0 : PURE FUNCTION s2a_22(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
681 0 : s16, s17, s18, s19, s20, s21, s22) RESULT(a)
682 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
683 : s11, s12, s13, s14, s15, s16, s17, &
684 : s18, s19, s20, s21, s22
685 : CHARACTER(LEN=1000), DIMENSION(22) :: a
686 :
687 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
688 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
689 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
690 0 : a(21) = s21; a(22) = s22
691 0 : END FUNCTION s2a_22
692 : ! **************************************************************************************************
693 : ! **************************************************************************************************
694 : !> \brief ...
695 : !> \param s1 ...
696 : !> \param s2 ...
697 : !> \param s3 ...
698 : !> \param s4 ...
699 : !> \param s5 ...
700 : !> \param s6 ...
701 : !> \param s7 ...
702 : !> \param s8 ...
703 : !> \param s9 ...
704 : !> \param s10 ...
705 : !> \param s11 ...
706 : !> \param s12 ...
707 : !> \param s13 ...
708 : !> \param s14 ...
709 : !> \param s15 ...
710 : !> \param s16 ...
711 : !> \param s17 ...
712 : !> \param s18 ...
713 : !> \param s19 ...
714 : !> \param s20 ...
715 : !> \param s21 ...
716 : !> \param s22 ...
717 : !> \param s23 ...
718 : !> \return ...
719 : ! **************************************************************************************************
720 0 : PURE FUNCTION s2a_23(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
721 0 : s16, s17, s18, s19, s20, s21, s22, s23) RESULT(a)
722 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
723 : s11, s12, s13, s14, s15, s16, s17, &
724 : s18, s19, s20, s21, s22, s23
725 : CHARACTER(LEN=1000), DIMENSION(23) :: a
726 :
727 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
728 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
729 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
730 0 : a(21) = s21; a(22) = s22; a(23) = s23
731 0 : END FUNCTION s2a_23
732 : ! **************************************************************************************************
733 : ! **************************************************************************************************
734 : !> \brief ...
735 : !> \param s1 ...
736 : !> \param s2 ...
737 : !> \param s3 ...
738 : !> \param s4 ...
739 : !> \param s5 ...
740 : !> \param s6 ...
741 : !> \param s7 ...
742 : !> \param s8 ...
743 : !> \param s9 ...
744 : !> \param s10 ...
745 : !> \param s11 ...
746 : !> \param s12 ...
747 : !> \param s13 ...
748 : !> \param s14 ...
749 : !> \param s15 ...
750 : !> \param s16 ...
751 : !> \param s17 ...
752 : !> \param s18 ...
753 : !> \param s19 ...
754 : !> \param s20 ...
755 : !> \param s21 ...
756 : !> \param s22 ...
757 : !> \param s23 ...
758 : !> \param s24 ...
759 : !> \return ...
760 : ! **************************************************************************************************
761 0 : PURE FUNCTION s2a_24(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
762 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24) RESULT(a)
763 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
764 : s11, s12, s13, s14, s15, s16, s17, &
765 : s18, s19, s20, s21, s22, s23, s24
766 : CHARACTER(LEN=1000), DIMENSION(24) :: a
767 :
768 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
769 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
770 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
771 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24
772 0 : END FUNCTION s2a_24
773 : ! **************************************************************************************************
774 : ! **************************************************************************************************
775 : !> \brief ...
776 : !> \param s1 ...
777 : !> \param s2 ...
778 : !> \param s3 ...
779 : !> \param s4 ...
780 : !> \param s5 ...
781 : !> \param s6 ...
782 : !> \param s7 ...
783 : !> \param s8 ...
784 : !> \param s9 ...
785 : !> \param s10 ...
786 : !> \param s11 ...
787 : !> \param s12 ...
788 : !> \param s13 ...
789 : !> \param s14 ...
790 : !> \param s15 ...
791 : !> \param s16 ...
792 : !> \param s17 ...
793 : !> \param s18 ...
794 : !> \param s19 ...
795 : !> \param s20 ...
796 : !> \param s21 ...
797 : !> \param s22 ...
798 : !> \param s23 ...
799 : !> \param s24 ...
800 : !> \param s25 ...
801 : !> \return ...
802 : ! **************************************************************************************************
803 0 : PURE FUNCTION s2a_25(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
804 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25) RESULT(a)
805 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
806 : s11, s12, s13, s14, s15, s16, s17, &
807 : s18, s19, s20, s21, s22, s23, s24, s25
808 : CHARACTER(LEN=1000), DIMENSION(25) :: a
809 :
810 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
811 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
812 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
813 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
814 0 : END FUNCTION s2a_25
815 : ! **************************************************************************************************
816 : ! **************************************************************************************************
817 : !> \brief ...
818 : !> \param s1 ...
819 : !> \param s2 ...
820 : !> \param s3 ...
821 : !> \param s4 ...
822 : !> \param s5 ...
823 : !> \param s6 ...
824 : !> \param s7 ...
825 : !> \param s8 ...
826 : !> \param s9 ...
827 : !> \param s10 ...
828 : !> \param s11 ...
829 : !> \param s12 ...
830 : !> \param s13 ...
831 : !> \param s14 ...
832 : !> \param s15 ...
833 : !> \param s16 ...
834 : !> \param s17 ...
835 : !> \param s18 ...
836 : !> \param s19 ...
837 : !> \param s20 ...
838 : !> \param s21 ...
839 : !> \param s22 ...
840 : !> \param s23 ...
841 : !> \param s24 ...
842 : !> \param s25 ...
843 : !> \param s26 ...
844 : !> \return ...
845 : ! **************************************************************************************************
846 0 : PURE FUNCTION s2a_26(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
847 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26) RESULT(a)
848 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
849 : s11, s12, s13, s14, s15, s16, s17, &
850 : s18, s19, s20, s21, s22, s23, s24, &
851 : s25, s26
852 : CHARACTER(LEN=1000), DIMENSION(26) :: a
853 :
854 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
855 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
856 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
857 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
858 0 : END FUNCTION s2a_26
859 : ! **************************************************************************************************
860 : ! **************************************************************************************************
861 : !> \brief ...
862 : !> \param s1 ...
863 : !> \param s2 ...
864 : !> \param s3 ...
865 : !> \param s4 ...
866 : !> \param s5 ...
867 : !> \param s6 ...
868 : !> \param s7 ...
869 : !> \param s8 ...
870 : !> \param s9 ...
871 : !> \param s10 ...
872 : !> \param s11 ...
873 : !> \param s12 ...
874 : !> \param s13 ...
875 : !> \param s14 ...
876 : !> \param s15 ...
877 : !> \param s16 ...
878 : !> \param s17 ...
879 : !> \param s18 ...
880 : !> \param s19 ...
881 : !> \param s20 ...
882 : !> \param s21 ...
883 : !> \param s22 ...
884 : !> \param s23 ...
885 : !> \param s24 ...
886 : !> \param s25 ...
887 : !> \param s26 ...
888 : !> \param s27 ...
889 : !> \return ...
890 : ! **************************************************************************************************
891 0 : PURE FUNCTION s2a_27(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
892 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27) RESULT(a)
893 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
894 : s11, s12, s13, s14, s15, s16, s17, &
895 : s18, s19, s20, s21, s22, s23, s24, &
896 : s25, s26, s27
897 : CHARACTER(LEN=1000), DIMENSION(27) :: a
898 :
899 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
900 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
901 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
902 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
903 0 : a(27) = s27
904 0 : END FUNCTION s2a_27
905 : ! **************************************************************************************************
906 : ! **************************************************************************************************
907 : !> \brief ...
908 : !> \param s1 ...
909 : !> \param s2 ...
910 : !> \param s3 ...
911 : !> \param s4 ...
912 : !> \param s5 ...
913 : !> \param s6 ...
914 : !> \param s7 ...
915 : !> \param s8 ...
916 : !> \param s9 ...
917 : !> \param s10 ...
918 : !> \param s11 ...
919 : !> \param s12 ...
920 : !> \param s13 ...
921 : !> \param s14 ...
922 : !> \param s15 ...
923 : !> \param s16 ...
924 : !> \param s17 ...
925 : !> \param s18 ...
926 : !> \param s19 ...
927 : !> \param s20 ...
928 : !> \param s21 ...
929 : !> \param s22 ...
930 : !> \param s23 ...
931 : !> \param s24 ...
932 : !> \param s25 ...
933 : !> \param s26 ...
934 : !> \param s27 ...
935 : !> \param s28 ...
936 : !> \return ...
937 : ! **************************************************************************************************
938 28114 : PURE FUNCTION s2a_28(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
939 56228 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28) RESULT(a)
940 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
941 : s11, s12, s13, s14, s15, s16, s17, &
942 : s18, s19, s20, s21, s22, s23, s24, &
943 : s25, s26, s27, s28
944 : CHARACTER(LEN=1000), DIMENSION(28) :: a
945 :
946 28114 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
947 28114 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
948 28114 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
949 28114 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
950 28114 : a(27) = s27; a(28) = s28
951 28114 : END FUNCTION s2a_28
952 : ! **************************************************************************************************
953 : ! **************************************************************************************************
954 : !> \brief ...
955 : !> \param s1 ...
956 : !> \param s2 ...
957 : !> \param s3 ...
958 : !> \param s4 ...
959 : !> \param s5 ...
960 : !> \param s6 ...
961 : !> \param s7 ...
962 : !> \param s8 ...
963 : !> \param s9 ...
964 : !> \param s10 ...
965 : !> \param s11 ...
966 : !> \param s12 ...
967 : !> \param s13 ...
968 : !> \param s14 ...
969 : !> \param s15 ...
970 : !> \param s16 ...
971 : !> \param s17 ...
972 : !> \param s18 ...
973 : !> \param s19 ...
974 : !> \param s20 ...
975 : !> \param s21 ...
976 : !> \param s22 ...
977 : !> \param s23 ...
978 : !> \param s24 ...
979 : !> \param s25 ...
980 : !> \param s26 ...
981 : !> \param s27 ...
982 : !> \param s28 ...
983 : !> \param s29 ...
984 : !> \return ...
985 : ! **************************************************************************************************
986 0 : PURE FUNCTION s2a_29(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
987 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29) RESULT(a)
988 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
989 : s11, s12, s13, s14, s15, s16, s17, &
990 : s18, s19, s20, s21, s22, s23, s24, &
991 : s25, s26, s27, s28, s29
992 : CHARACTER(LEN=1000), DIMENSION(29) :: a
993 :
994 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
995 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
996 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
997 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
998 0 : a(27) = s27; a(28) = s28; a(29) = s29
999 0 : END FUNCTION s2a_29
1000 : ! **************************************************************************************************
1001 : ! **************************************************************************************************
1002 : !> \brief ...
1003 : !> \param s1 ...
1004 : !> \param s2 ...
1005 : !> \param s3 ...
1006 : !> \param s4 ...
1007 : !> \param s5 ...
1008 : !> \param s6 ...
1009 : !> \param s7 ...
1010 : !> \param s8 ...
1011 : !> \param s9 ...
1012 : !> \param s10 ...
1013 : !> \param s11 ...
1014 : !> \param s12 ...
1015 : !> \param s13 ...
1016 : !> \param s14 ...
1017 : !> \param s15 ...
1018 : !> \param s16 ...
1019 : !> \param s17 ...
1020 : !> \param s18 ...
1021 : !> \param s19 ...
1022 : !> \param s20 ...
1023 : !> \param s21 ...
1024 : !> \param s22 ...
1025 : !> \param s23 ...
1026 : !> \param s24 ...
1027 : !> \param s25 ...
1028 : !> \param s26 ...
1029 : !> \param s27 ...
1030 : !> \param s28 ...
1031 : !> \param s29 ...
1032 : !> \param s30 ...
1033 : !> \return ...
1034 : ! **************************************************************************************************
1035 0 : PURE FUNCTION s2a_30(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1036 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30) RESULT(a)
1037 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1038 : s11, s12, s13, s14, s15, s16, s17, &
1039 : s18, s19, s20, s21, s22, s23, s24, &
1040 : s25, s26, s27, s28, s29, s30
1041 : CHARACTER(LEN=1000), DIMENSION(30) :: a
1042 :
1043 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1044 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1045 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1046 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1047 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1048 0 : END FUNCTION s2a_30
1049 : ! **************************************************************************************************
1050 : ! **************************************************************************************************
1051 : !> \brief ...
1052 : !> \param s1 ...
1053 : !> \param s2 ...
1054 : !> \param s3 ...
1055 : !> \param s4 ...
1056 : !> \param s5 ...
1057 : !> \param s6 ...
1058 : !> \param s7 ...
1059 : !> \param s8 ...
1060 : !> \param s9 ...
1061 : !> \param s10 ...
1062 : !> \param s11 ...
1063 : !> \param s12 ...
1064 : !> \param s13 ...
1065 : !> \param s14 ...
1066 : !> \param s15 ...
1067 : !> \param s16 ...
1068 : !> \param s17 ...
1069 : !> \param s18 ...
1070 : !> \param s19 ...
1071 : !> \param s20 ...
1072 : !> \param s21 ...
1073 : !> \param s22 ...
1074 : !> \param s23 ...
1075 : !> \param s24 ...
1076 : !> \param s25 ...
1077 : !> \param s26 ...
1078 : !> \param s27 ...
1079 : !> \param s28 ...
1080 : !> \param s29 ...
1081 : !> \param s30 ...
1082 : !> \param s31 ...
1083 : !> \return ...
1084 : ! **************************************************************************************************
1085 0 : PURE FUNCTION s2a_31(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1086 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31) RESULT(a)
1087 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1088 : s11, s12, s13, s14, s15, s16, s17, &
1089 : s18, s19, s20, s21, s22, s23, s24, &
1090 : s25, s26, s27, s28, s29, s30, s31
1091 : CHARACTER(LEN=1000), DIMENSION(31) :: a
1092 :
1093 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1094 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1095 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1096 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1097 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31
1098 0 : END FUNCTION s2a_31
1099 : ! **************************************************************************************************
1100 : ! **************************************************************************************************
1101 : !> \brief ...
1102 : !> \param s1 ...
1103 : !> \param s2 ...
1104 : !> \param s3 ...
1105 : !> \param s4 ...
1106 : !> \param s5 ...
1107 : !> \param s6 ...
1108 : !> \param s7 ...
1109 : !> \param s8 ...
1110 : !> \param s9 ...
1111 : !> \param s10 ...
1112 : !> \param s11 ...
1113 : !> \param s12 ...
1114 : !> \param s13 ...
1115 : !> \param s14 ...
1116 : !> \param s15 ...
1117 : !> \param s16 ...
1118 : !> \param s17 ...
1119 : !> \param s18 ...
1120 : !> \param s19 ...
1121 : !> \param s20 ...
1122 : !> \param s21 ...
1123 : !> \param s22 ...
1124 : !> \param s23 ...
1125 : !> \param s24 ...
1126 : !> \param s25 ...
1127 : !> \param s26 ...
1128 : !> \param s27 ...
1129 : !> \param s28 ...
1130 : !> \param s29 ...
1131 : !> \param s30 ...
1132 : !> \param s31 ...
1133 : !> \param s32 ...
1134 : !> \return ...
1135 : ! **************************************************************************************************
1136 0 : PURE FUNCTION s2a_32(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1137 0 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32) RESULT(a)
1138 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1139 : s11, s12, s13, s14, s15, s16, s17, &
1140 : s18, s19, s20, s21, s22, s23, s24, &
1141 : s25, s26, s27, s28, s29, s30, s31, s32
1142 : CHARACTER(LEN=1000), DIMENSION(32) :: a
1143 :
1144 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1145 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1146 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1147 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1148 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1149 0 : END FUNCTION s2a_32
1150 : ! **************************************************************************************************
1151 : ! **************************************************************************************************
1152 : !> \brief ...
1153 : !> \param s1 ...
1154 : !> \param s2 ...
1155 : !> \param s3 ...
1156 : !> \param s4 ...
1157 : !> \param s5 ...
1158 : !> \param s6 ...
1159 : !> \param s7 ...
1160 : !> \param s8 ...
1161 : !> \param s9 ...
1162 : !> \param s10 ...
1163 : !> \param s11 ...
1164 : !> \param s12 ...
1165 : !> \param s13 ...
1166 : !> \param s14 ...
1167 : !> \param s15 ...
1168 : !> \param s16 ...
1169 : !> \param s17 ...
1170 : !> \param s18 ...
1171 : !> \param s19 ...
1172 : !> \param s20 ...
1173 : !> \param s21 ...
1174 : !> \param s22 ...
1175 : !> \param s23 ...
1176 : !> \param s24 ...
1177 : !> \param s25 ...
1178 : !> \param s26 ...
1179 : !> \param s27 ...
1180 : !> \param s28 ...
1181 : !> \param s29 ...
1182 : !> \param s30 ...
1183 : !> \param s31 ...
1184 : !> \param s32 ...
1185 : !> \param s33 ...
1186 : !> \return ...
1187 : ! **************************************************************************************************
1188 0 : PURE FUNCTION s2a_33(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1189 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1190 0 : s33) RESULT(a)
1191 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1192 : s11, s12, s13, s14, s15, s16, s17, &
1193 : s18, s19, s20, s21, s22, s23, s24, &
1194 : s25, s26, s27, s28, s29, s30, s31, &
1195 : s32, s33
1196 : CHARACTER(LEN=1000), DIMENSION(33) :: a
1197 :
1198 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1199 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1200 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1201 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1202 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1203 0 : a(33) = s33
1204 0 : END FUNCTION s2a_33
1205 : ! **************************************************************************************************
1206 : ! **************************************************************************************************
1207 : !> \brief ...
1208 : !> \param s1 ...
1209 : !> \param s2 ...
1210 : !> \param s3 ...
1211 : !> \param s4 ...
1212 : !> \param s5 ...
1213 : !> \param s6 ...
1214 : !> \param s7 ...
1215 : !> \param s8 ...
1216 : !> \param s9 ...
1217 : !> \param s10 ...
1218 : !> \param s11 ...
1219 : !> \param s12 ...
1220 : !> \param s13 ...
1221 : !> \param s14 ...
1222 : !> \param s15 ...
1223 : !> \param s16 ...
1224 : !> \param s17 ...
1225 : !> \param s18 ...
1226 : !> \param s19 ...
1227 : !> \param s20 ...
1228 : !> \param s21 ...
1229 : !> \param s22 ...
1230 : !> \param s23 ...
1231 : !> \param s24 ...
1232 : !> \param s25 ...
1233 : !> \param s26 ...
1234 : !> \param s27 ...
1235 : !> \param s28 ...
1236 : !> \param s29 ...
1237 : !> \param s30 ...
1238 : !> \param s31 ...
1239 : !> \param s32 ...
1240 : !> \param s33 ...
1241 : !> \param s34 ...
1242 : !> \return ...
1243 : ! **************************************************************************************************
1244 0 : PURE FUNCTION s2a_34(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1245 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1246 0 : s33, s34) RESULT(a)
1247 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1248 : s11, s12, s13, s14, s15, s16, s17, &
1249 : s18, s19, s20, s21, s22, s23, s24, &
1250 : s25, s26, s27, s28, s29, s30, s31, &
1251 : s32, s33, s34
1252 : CHARACTER(LEN=1000), DIMENSION(34) :: a
1253 :
1254 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1255 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1256 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1257 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1258 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1259 0 : a(33) = s33; a(34) = s34
1260 0 : END FUNCTION s2a_34
1261 : ! **************************************************************************************************
1262 : ! **************************************************************************************************
1263 : !> \brief ...
1264 : !> \param s1 ...
1265 : !> \param s2 ...
1266 : !> \param s3 ...
1267 : !> \param s4 ...
1268 : !> \param s5 ...
1269 : !> \param s6 ...
1270 : !> \param s7 ...
1271 : !> \param s8 ...
1272 : !> \param s9 ...
1273 : !> \param s10 ...
1274 : !> \param s11 ...
1275 : !> \param s12 ...
1276 : !> \param s13 ...
1277 : !> \param s14 ...
1278 : !> \param s15 ...
1279 : !> \param s16 ...
1280 : !> \param s17 ...
1281 : !> \param s18 ...
1282 : !> \param s19 ...
1283 : !> \param s20 ...
1284 : !> \param s21 ...
1285 : !> \param s22 ...
1286 : !> \param s23 ...
1287 : !> \param s24 ...
1288 : !> \param s25 ...
1289 : !> \param s26 ...
1290 : !> \param s27 ...
1291 : !> \param s28 ...
1292 : !> \param s29 ...
1293 : !> \param s30 ...
1294 : !> \param s31 ...
1295 : !> \param s32 ...
1296 : !> \param s33 ...
1297 : !> \param s34 ...
1298 : !> \param s35 ...
1299 : !> \return ...
1300 : ! **************************************************************************************************
1301 0 : PURE FUNCTION s2a_35(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1302 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1303 0 : s33, s34, s35) RESULT(a)
1304 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1305 : s11, s12, s13, s14, s15, s16, s17, &
1306 : s18, s19, s20, s21, s22, s23, s24, &
1307 : s25, s26, s27, s28, s29, s30, s31, &
1308 : s32, s33, s34, s35
1309 : CHARACTER(LEN=1000), DIMENSION(35) :: a
1310 :
1311 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1312 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1313 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1314 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1315 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1316 0 : a(33) = s33; a(34) = s34; a(35) = s35
1317 0 : END FUNCTION s2a_35
1318 : ! **************************************************************************************************
1319 : ! **************************************************************************************************
1320 : !> \brief ...
1321 : !> \param s1 ...
1322 : !> \param s2 ...
1323 : !> \param s3 ...
1324 : !> \param s4 ...
1325 : !> \param s5 ...
1326 : !> \param s6 ...
1327 : !> \param s7 ...
1328 : !> \param s8 ...
1329 : !> \param s9 ...
1330 : !> \param s10 ...
1331 : !> \param s11 ...
1332 : !> \param s12 ...
1333 : !> \param s13 ...
1334 : !> \param s14 ...
1335 : !> \param s15 ...
1336 : !> \param s16 ...
1337 : !> \param s17 ...
1338 : !> \param s18 ...
1339 : !> \param s19 ...
1340 : !> \param s20 ...
1341 : !> \param s21 ...
1342 : !> \param s22 ...
1343 : !> \param s23 ...
1344 : !> \param s24 ...
1345 : !> \param s25 ...
1346 : !> \param s26 ...
1347 : !> \param s27 ...
1348 : !> \param s28 ...
1349 : !> \param s29 ...
1350 : !> \param s30 ...
1351 : !> \param s31 ...
1352 : !> \param s32 ...
1353 : !> \param s33 ...
1354 : !> \param s34 ...
1355 : !> \param s35 ...
1356 : !> \param s36 ...
1357 : !> \return ...
1358 : ! **************************************************************************************************
1359 0 : PURE FUNCTION s2a_36(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1360 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1361 0 : s33, s34, s35, s36) RESULT(a)
1362 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1363 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1364 : s33, s34, s35, s36
1365 : CHARACTER(LEN=1000), DIMENSION(36) :: a
1366 :
1367 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1368 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1369 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1370 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1371 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1372 0 : a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36
1373 0 : END FUNCTION s2a_36
1374 : ! **************************************************************************************************
1375 : ! **************************************************************************************************
1376 : !> \brief ...
1377 : !> \param s1 ...
1378 : !> \param s2 ...
1379 : !> \param s3 ...
1380 : !> \param s4 ...
1381 : !> \param s5 ...
1382 : !> \param s6 ...
1383 : !> \param s7 ...
1384 : !> \param s8 ...
1385 : !> \param s9 ...
1386 : !> \param s10 ...
1387 : !> \param s11 ...
1388 : !> \param s12 ...
1389 : !> \param s13 ...
1390 : !> \param s14 ...
1391 : !> \param s15 ...
1392 : !> \param s16 ...
1393 : !> \param s17 ...
1394 : !> \param s18 ...
1395 : !> \param s19 ...
1396 : !> \param s20 ...
1397 : !> \param s21 ...
1398 : !> \param s22 ...
1399 : !> \param s23 ...
1400 : !> \param s24 ...
1401 : !> \param s25 ...
1402 : !> \param s26 ...
1403 : !> \param s27 ...
1404 : !> \param s28 ...
1405 : !> \param s29 ...
1406 : !> \param s30 ...
1407 : !> \param s31 ...
1408 : !> \param s32 ...
1409 : !> \param s33 ...
1410 : !> \param s34 ...
1411 : !> \param s35 ...
1412 : !> \param s36 ...
1413 : !> \param s37 ...
1414 : !> \return ...
1415 : ! **************************************************************************************************
1416 0 : PURE FUNCTION s2a_37(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1417 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1418 0 : s33, s34, s35, s36, s37) RESULT(a)
1419 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1420 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1421 : s33, s34, s35, s36, s37
1422 : CHARACTER(LEN=1000), DIMENSION(37) :: a
1423 :
1424 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1425 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1426 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1427 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1428 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1429 0 : a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37
1430 0 : END FUNCTION s2a_37
1431 : ! **************************************************************************************************
1432 : ! **************************************************************************************************
1433 : !> \brief ...
1434 : !> \param s1 ...
1435 : !> \param s2 ...
1436 : !> \param s3 ...
1437 : !> \param s4 ...
1438 : !> \param s5 ...
1439 : !> \param s6 ...
1440 : !> \param s7 ...
1441 : !> \param s8 ...
1442 : !> \param s9 ...
1443 : !> \param s10 ...
1444 : !> \param s11 ...
1445 : !> \param s12 ...
1446 : !> \param s13 ...
1447 : !> \param s14 ...
1448 : !> \param s15 ...
1449 : !> \param s16 ...
1450 : !> \param s17 ...
1451 : !> \param s18 ...
1452 : !> \param s19 ...
1453 : !> \param s20 ...
1454 : !> \param s21 ...
1455 : !> \param s22 ...
1456 : !> \param s23 ...
1457 : !> \param s24 ...
1458 : !> \param s25 ...
1459 : !> \param s26 ...
1460 : !> \param s27 ...
1461 : !> \param s28 ...
1462 : !> \param s29 ...
1463 : !> \param s30 ...
1464 : !> \param s31 ...
1465 : !> \param s32 ...
1466 : !> \param s33 ...
1467 : !> \param s34 ...
1468 : !> \param s35 ...
1469 : !> \param s36 ...
1470 : !> \param s37 ...
1471 : !> \param s38 ...
1472 : !> \return ...
1473 : ! **************************************************************************************************
1474 0 : PURE FUNCTION s2a_38(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1475 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1476 0 : s33, s34, s35, s36, s37, s38) RESULT(a)
1477 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1478 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1479 : s33, s34, s35, s36, s37, s38
1480 : CHARACTER(LEN=1000), DIMENSION(38) :: a
1481 :
1482 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1483 0 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1484 0 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1485 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1486 0 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1487 0 : a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37; a(38) = s38
1488 0 : END FUNCTION s2a_38
1489 : ! **************************************************************************************************
1490 : ! **************************************************************************************************
1491 : !> \brief ...
1492 : !> \param s1 ...
1493 : !> \param s2 ...
1494 : !> \param s3 ...
1495 : !> \param s4 ...
1496 : !> \param s5 ...
1497 : !> \param s6 ...
1498 : !> \param s7 ...
1499 : !> \param s8 ...
1500 : !> \param s9 ...
1501 : !> \param s10 ...
1502 : !> \param s11 ...
1503 : !> \param s12 ...
1504 : !> \param s13 ...
1505 : !> \param s14 ...
1506 : !> \param s15 ...
1507 : !> \param s16 ...
1508 : !> \param s17 ...
1509 : !> \param s18 ...
1510 : !> \param s19 ...
1511 : !> \param s20 ...
1512 : !> \param s21 ...
1513 : !> \param s22 ...
1514 : !> \param s23 ...
1515 : !> \param s24 ...
1516 : !> \param s25 ...
1517 : !> \param s26 ...
1518 : !> \param s27 ...
1519 : !> \param s28 ...
1520 : !> \param s29 ...
1521 : !> \param s30 ...
1522 : !> \param s31 ...
1523 : !> \param s32 ...
1524 : !> \param s33 ...
1525 : !> \param s34 ...
1526 : !> \param s35 ...
1527 : !> \param s36 ...
1528 : !> \param s37 ...
1529 : !> \param s38 ...
1530 : !> \param s39 ...
1531 : !> \return ...
1532 : ! **************************************************************************************************
1533 8436 : PURE FUNCTION s2a_39(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1534 : s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1535 16872 : s33, s34, s35, s36, s37, s38, s39) RESULT(a)
1536 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1537 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1538 : s33, s34, s35, s36, s37, s38, s39
1539 : CHARACTER(LEN=1000), DIMENSION(39) :: a
1540 :
1541 8436 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1542 8436 : a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1543 8436 : a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1544 8436 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1545 8436 : a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1546 8436 : a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37; a(38) = s38
1547 8436 : a(39) = s39
1548 8436 : END FUNCTION s2a_39
1549 : ! **************************************************************************************************
1550 : !> \brief ...
1551 : !> \param s1 ...
1552 : !> \param s2 ...
1553 : !> \param s3 ...
1554 : !> \param s4 ...
1555 : !> \param s5 ...
1556 : !> \param s6 ...
1557 : !> \param s7 ...
1558 : !> \param s8 ...
1559 : !> \param s9 ...
1560 : !> \param s10 ...
1561 : !> \param s11 ...
1562 : !> \param s12 ...
1563 : !> \param s13 ...
1564 : !> \param s14 ...
1565 : !> \param s15 ...
1566 : !> \param s16 ...
1567 : !> \param s17 ...
1568 : !> \param s18 ...
1569 : !> \param s19 ...
1570 : !> \param s20 ...
1571 : !> \param s21 ...
1572 : !> \param s22 ...
1573 : !> \param s23 ...
1574 : !> \param s24 ...
1575 : !> \param s25 ...
1576 : !> \param s26 ...
1577 : !> \param s27 ...
1578 : !> \param s28 ...
1579 : !> \param s29 ...
1580 : !> \param s30 ...
1581 : !> \param s31 ...
1582 : !> \param s32 ...
1583 : !> \param s33 ...
1584 : !> \param s34 ...
1585 : !> \param s35 ...
1586 : !> \param s36 ...
1587 : !> \param s37 ...
1588 : !> \param s38 ...
1589 : !> \param s39 ...
1590 : !> \param s40 ...
1591 : !> \return ...
1592 : ! **************************************************************************************************
1593 0 : PURE FUNCTION s2a_40(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1594 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1595 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1596 0 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40) RESULT(a)
1597 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1598 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1599 : s33, s34, s35, s36, s37, s38, s39, s40
1600 : CHARACTER(LEN=1000), DIMENSION(40) :: a
1601 :
1602 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1603 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1604 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1605 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1606 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1607 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1608 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1609 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1610 0 : END FUNCTION s2a_40
1611 : ! **************************************************************************************************
1612 : !> \brief ...
1613 : !> \param s1 ...
1614 : !> \param s2 ...
1615 : !> \param s3 ...
1616 : !> \param s4 ...
1617 : !> \param s5 ...
1618 : !> \param s6 ...
1619 : !> \param s7 ...
1620 : !> \param s8 ...
1621 : !> \param s9 ...
1622 : !> \param s10 ...
1623 : !> \param s11 ...
1624 : !> \param s12 ...
1625 : !> \param s13 ...
1626 : !> \param s14 ...
1627 : !> \param s15 ...
1628 : !> \param s16 ...
1629 : !> \param s17 ...
1630 : !> \param s18 ...
1631 : !> \param s19 ...
1632 : !> \param s20 ...
1633 : !> \param s21 ...
1634 : !> \param s22 ...
1635 : !> \param s23 ...
1636 : !> \param s24 ...
1637 : !> \param s25 ...
1638 : !> \param s26 ...
1639 : !> \param s27 ...
1640 : !> \param s28 ...
1641 : !> \param s29 ...
1642 : !> \param s30 ...
1643 : !> \param s31 ...
1644 : !> \param s32 ...
1645 : !> \param s33 ...
1646 : !> \param s34 ...
1647 : !> \param s35 ...
1648 : !> \param s36 ...
1649 : !> \param s37 ...
1650 : !> \param s38 ...
1651 : !> \param s39 ...
1652 : !> \param s40 ...
1653 : !> \param s41 ...
1654 : !> \return ...
1655 : ! **************************************************************************************************
1656 0 : PURE FUNCTION s2a_41(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1657 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1658 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1659 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
1660 0 : s41) RESULT(a)
1661 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1662 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1663 : s33, s34, s35, s36, s37, s38, s39, s40, s41
1664 : CHARACTER(LEN=1000), DIMENSION(41) :: a
1665 :
1666 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1667 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1668 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1669 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1670 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1671 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1672 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1673 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1674 0 : a(41) = s41
1675 0 : END FUNCTION s2a_41
1676 : ! **************************************************************************************************
1677 : !> \brief ...
1678 : !> \param s1 ...
1679 : !> \param s2 ...
1680 : !> \param s3 ...
1681 : !> \param s4 ...
1682 : !> \param s5 ...
1683 : !> \param s6 ...
1684 : !> \param s7 ...
1685 : !> \param s8 ...
1686 : !> \param s9 ...
1687 : !> \param s10 ...
1688 : !> \param s11 ...
1689 : !> \param s12 ...
1690 : !> \param s13 ...
1691 : !> \param s14 ...
1692 : !> \param s15 ...
1693 : !> \param s16 ...
1694 : !> \param s17 ...
1695 : !> \param s18 ...
1696 : !> \param s19 ...
1697 : !> \param s20 ...
1698 : !> \param s21 ...
1699 : !> \param s22 ...
1700 : !> \param s23 ...
1701 : !> \param s24 ...
1702 : !> \param s25 ...
1703 : !> \param s26 ...
1704 : !> \param s27 ...
1705 : !> \param s28 ...
1706 : !> \param s29 ...
1707 : !> \param s30 ...
1708 : !> \param s31 ...
1709 : !> \param s32 ...
1710 : !> \param s33 ...
1711 : !> \param s34 ...
1712 : !> \param s35 ...
1713 : !> \param s36 ...
1714 : !> \param s37 ...
1715 : !> \param s38 ...
1716 : !> \param s39 ...
1717 : !> \param s40 ...
1718 : !> \param s41 ...
1719 : !> \param s42 ...
1720 : !> \return ...
1721 : ! **************************************************************************************************
1722 0 : PURE FUNCTION s2a_42(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1723 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1724 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1725 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
1726 0 : s41, s42) RESULT(a)
1727 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1728 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1729 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42
1730 : CHARACTER(LEN=1000), DIMENSION(42) :: a
1731 :
1732 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1733 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1734 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1735 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1736 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1737 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1738 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1739 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1740 0 : a(41) = s41; a(42) = s42
1741 0 : END FUNCTION s2a_42
1742 : ! **************************************************************************************************
1743 : !> \brief ...
1744 : !> \param s1 ...
1745 : !> \param s2 ...
1746 : !> \param s3 ...
1747 : !> \param s4 ...
1748 : !> \param s5 ...
1749 : !> \param s6 ...
1750 : !> \param s7 ...
1751 : !> \param s8 ...
1752 : !> \param s9 ...
1753 : !> \param s10 ...
1754 : !> \param s11 ...
1755 : !> \param s12 ...
1756 : !> \param s13 ...
1757 : !> \param s14 ...
1758 : !> \param s15 ...
1759 : !> \param s16 ...
1760 : !> \param s17 ...
1761 : !> \param s18 ...
1762 : !> \param s19 ...
1763 : !> \param s20 ...
1764 : !> \param s21 ...
1765 : !> \param s22 ...
1766 : !> \param s23 ...
1767 : !> \param s24 ...
1768 : !> \param s25 ...
1769 : !> \param s26 ...
1770 : !> \param s27 ...
1771 : !> \param s28 ...
1772 : !> \param s29 ...
1773 : !> \param s30 ...
1774 : !> \param s31 ...
1775 : !> \param s32 ...
1776 : !> \param s33 ...
1777 : !> \param s34 ...
1778 : !> \param s35 ...
1779 : !> \param s36 ...
1780 : !> \param s37 ...
1781 : !> \param s38 ...
1782 : !> \param s39 ...
1783 : !> \param s40 ...
1784 : !> \param s41 ...
1785 : !> \param s42 ...
1786 : !> \param s43 ...
1787 : !> \return ...
1788 : ! **************************************************************************************************
1789 0 : PURE FUNCTION s2a_43(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1790 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1791 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1792 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
1793 0 : s41, s42, s43) RESULT(a)
1794 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1795 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1796 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43
1797 : CHARACTER(LEN=1000), DIMENSION(43) :: a
1798 :
1799 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1800 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1801 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1802 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1803 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1804 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1805 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1806 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1807 0 : a(41) = s41; a(42) = s42; a(43) = s43
1808 0 : END FUNCTION s2a_43
1809 : ! **************************************************************************************************
1810 : !> \brief ...
1811 : !> \param s1 ...
1812 : !> \param s2 ...
1813 : !> \param s3 ...
1814 : !> \param s4 ...
1815 : !> \param s5 ...
1816 : !> \param s6 ...
1817 : !> \param s7 ...
1818 : !> \param s8 ...
1819 : !> \param s9 ...
1820 : !> \param s10 ...
1821 : !> \param s11 ...
1822 : !> \param s12 ...
1823 : !> \param s13 ...
1824 : !> \param s14 ...
1825 : !> \param s15 ...
1826 : !> \param s16 ...
1827 : !> \param s17 ...
1828 : !> \param s18 ...
1829 : !> \param s19 ...
1830 : !> \param s20 ...
1831 : !> \param s21 ...
1832 : !> \param s22 ...
1833 : !> \param s23 ...
1834 : !> \param s24 ...
1835 : !> \param s25 ...
1836 : !> \param s26 ...
1837 : !> \param s27 ...
1838 : !> \param s28 ...
1839 : !> \param s29 ...
1840 : !> \param s30 ...
1841 : !> \param s31 ...
1842 : !> \param s32 ...
1843 : !> \param s33 ...
1844 : !> \param s34 ...
1845 : !> \param s35 ...
1846 : !> \param s36 ...
1847 : !> \param s37 ...
1848 : !> \param s38 ...
1849 : !> \param s39 ...
1850 : !> \param s40 ...
1851 : !> \param s41 ...
1852 : !> \param s42 ...
1853 : !> \param s43 ...
1854 : !> \param s44 ...
1855 : !> \return ...
1856 : ! **************************************************************************************************
1857 0 : PURE FUNCTION s2a_44(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1858 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1859 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1860 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
1861 0 : s41, s42, s43, s44) RESULT(a)
1862 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1863 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1864 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44
1865 : CHARACTER(LEN=1000), DIMENSION(44) :: a
1866 :
1867 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1868 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1869 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1870 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1871 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1872 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1873 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1874 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1875 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44
1876 0 : END FUNCTION s2a_44
1877 : ! **************************************************************************************************
1878 : !> \brief ...
1879 : !> \param s1 ...
1880 : !> \param s2 ...
1881 : !> \param s3 ...
1882 : !> \param s4 ...
1883 : !> \param s5 ...
1884 : !> \param s6 ...
1885 : !> \param s7 ...
1886 : !> \param s8 ...
1887 : !> \param s9 ...
1888 : !> \param s10 ...
1889 : !> \param s11 ...
1890 : !> \param s12 ...
1891 : !> \param s13 ...
1892 : !> \param s14 ...
1893 : !> \param s15 ...
1894 : !> \param s16 ...
1895 : !> \param s17 ...
1896 : !> \param s18 ...
1897 : !> \param s19 ...
1898 : !> \param s20 ...
1899 : !> \param s21 ...
1900 : !> \param s22 ...
1901 : !> \param s23 ...
1902 : !> \param s24 ...
1903 : !> \param s25 ...
1904 : !> \param s26 ...
1905 : !> \param s27 ...
1906 : !> \param s28 ...
1907 : !> \param s29 ...
1908 : !> \param s30 ...
1909 : !> \param s31 ...
1910 : !> \param s32 ...
1911 : !> \param s33 ...
1912 : !> \param s34 ...
1913 : !> \param s35 ...
1914 : !> \param s36 ...
1915 : !> \param s37 ...
1916 : !> \param s38 ...
1917 : !> \param s39 ...
1918 : !> \param s40 ...
1919 : !> \param s41 ...
1920 : !> \param s42 ...
1921 : !> \param s43 ...
1922 : !> \param s44 ...
1923 : !> \param s45 ...
1924 : !> \return ...
1925 : ! **************************************************************************************************
1926 0 : PURE FUNCTION s2a_45(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1927 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1928 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1929 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
1930 0 : s41, s42, s43, s44, s45) RESULT(a)
1931 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
1932 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
1933 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45
1934 : CHARACTER(LEN=1000), DIMENSION(45) :: a
1935 :
1936 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1937 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1938 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1939 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1940 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1941 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1942 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1943 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1944 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
1945 0 : END FUNCTION s2a_45
1946 : ! **************************************************************************************************
1947 : !> \brief ...
1948 : !> \param s1 ...
1949 : !> \param s2 ...
1950 : !> \param s3 ...
1951 : !> \param s4 ...
1952 : !> \param s5 ...
1953 : !> \param s6 ...
1954 : !> \param s7 ...
1955 : !> \param s8 ...
1956 : !> \param s9 ...
1957 : !> \param s10 ...
1958 : !> \param s11 ...
1959 : !> \param s12 ...
1960 : !> \param s13 ...
1961 : !> \param s14 ...
1962 : !> \param s15 ...
1963 : !> \param s16 ...
1964 : !> \param s17 ...
1965 : !> \param s18 ...
1966 : !> \param s19 ...
1967 : !> \param s20 ...
1968 : !> \param s21 ...
1969 : !> \param s22 ...
1970 : !> \param s23 ...
1971 : !> \param s24 ...
1972 : !> \param s25 ...
1973 : !> \param s26 ...
1974 : !> \param s27 ...
1975 : !> \param s28 ...
1976 : !> \param s29 ...
1977 : !> \param s30 ...
1978 : !> \param s31 ...
1979 : !> \param s32 ...
1980 : !> \param s33 ...
1981 : !> \param s34 ...
1982 : !> \param s35 ...
1983 : !> \param s36 ...
1984 : !> \param s37 ...
1985 : !> \param s38 ...
1986 : !> \param s39 ...
1987 : !> \param s40 ...
1988 : !> \param s41 ...
1989 : !> \param s42 ...
1990 : !> \param s43 ...
1991 : !> \param s44 ...
1992 : !> \param s45 ...
1993 : !> \param s46 ...
1994 : !> \return ...
1995 : ! **************************************************************************************************
1996 0 : PURE FUNCTION s2a_46(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
1997 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
1998 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
1999 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2000 0 : s41, s42, s43, s44, s45, s46) RESULT(a)
2001 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2002 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2003 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46
2004 : CHARACTER(LEN=1000), DIMENSION(46) :: a
2005 :
2006 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2007 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2008 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2009 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2010 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2011 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2012 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2013 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2014 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2015 0 : a(46) = s46
2016 0 : END FUNCTION s2a_46
2017 : ! **************************************************************************************************
2018 : !> \brief ...
2019 : !> \param s1 ...
2020 : !> \param s2 ...
2021 : !> \param s3 ...
2022 : !> \param s4 ...
2023 : !> \param s5 ...
2024 : !> \param s6 ...
2025 : !> \param s7 ...
2026 : !> \param s8 ...
2027 : !> \param s9 ...
2028 : !> \param s10 ...
2029 : !> \param s11 ...
2030 : !> \param s12 ...
2031 : !> \param s13 ...
2032 : !> \param s14 ...
2033 : !> \param s15 ...
2034 : !> \param s16 ...
2035 : !> \param s17 ...
2036 : !> \param s18 ...
2037 : !> \param s19 ...
2038 : !> \param s20 ...
2039 : !> \param s21 ...
2040 : !> \param s22 ...
2041 : !> \param s23 ...
2042 : !> \param s24 ...
2043 : !> \param s25 ...
2044 : !> \param s26 ...
2045 : !> \param s27 ...
2046 : !> \param s28 ...
2047 : !> \param s29 ...
2048 : !> \param s30 ...
2049 : !> \param s31 ...
2050 : !> \param s32 ...
2051 : !> \param s33 ...
2052 : !> \param s34 ...
2053 : !> \param s35 ...
2054 : !> \param s36 ...
2055 : !> \param s37 ...
2056 : !> \param s38 ...
2057 : !> \param s39 ...
2058 : !> \param s40 ...
2059 : !> \param s41 ...
2060 : !> \param s42 ...
2061 : !> \param s43 ...
2062 : !> \param s44 ...
2063 : !> \param s45 ...
2064 : !> \param s46 ...
2065 : !> \param s47 ...
2066 : !> \return ...
2067 : ! **************************************************************************************************
2068 8436 : PURE FUNCTION s2a_47(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2069 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2070 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2071 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2072 16872 : s41, s42, s43, s44, s45, s46, s47) RESULT(a)
2073 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2074 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2075 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47
2076 : CHARACTER(LEN=1000), DIMENSION(47) :: a
2077 :
2078 8436 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2079 8436 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2080 8436 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2081 8436 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2082 8436 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2083 8436 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2084 8436 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2085 8436 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2086 8436 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2087 8436 : a(46) = s46; a(47) = s47
2088 8436 : END FUNCTION s2a_47
2089 : ! **************************************************************************************************
2090 : !> \brief ...
2091 : !> \param s1 ...
2092 : !> \param s2 ...
2093 : !> \param s3 ...
2094 : !> \param s4 ...
2095 : !> \param s5 ...
2096 : !> \param s6 ...
2097 : !> \param s7 ...
2098 : !> \param s8 ...
2099 : !> \param s9 ...
2100 : !> \param s10 ...
2101 : !> \param s11 ...
2102 : !> \param s12 ...
2103 : !> \param s13 ...
2104 : !> \param s14 ...
2105 : !> \param s15 ...
2106 : !> \param s16 ...
2107 : !> \param s17 ...
2108 : !> \param s18 ...
2109 : !> \param s19 ...
2110 : !> \param s20 ...
2111 : !> \param s21 ...
2112 : !> \param s22 ...
2113 : !> \param s23 ...
2114 : !> \param s24 ...
2115 : !> \param s25 ...
2116 : !> \param s26 ...
2117 : !> \param s27 ...
2118 : !> \param s28 ...
2119 : !> \param s29 ...
2120 : !> \param s30 ...
2121 : !> \param s31 ...
2122 : !> \param s32 ...
2123 : !> \param s33 ...
2124 : !> \param s34 ...
2125 : !> \param s35 ...
2126 : !> \param s36 ...
2127 : !> \param s37 ...
2128 : !> \param s38 ...
2129 : !> \param s39 ...
2130 : !> \param s40 ...
2131 : !> \param s41 ...
2132 : !> \param s42 ...
2133 : !> \param s43 ...
2134 : !> \param s44 ...
2135 : !> \param s45 ...
2136 : !> \param s46 ...
2137 : !> \param s47 ...
2138 : !> \param s48 ...
2139 : !> \return ...
2140 : ! **************************************************************************************************
2141 0 : PURE FUNCTION s2a_48(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2142 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2143 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2144 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2145 0 : s41, s42, s43, s44, s45, s46, s47, s48) RESULT(a)
2146 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2147 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2148 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48
2149 : CHARACTER(LEN=1000), DIMENSION(48) :: a
2150 :
2151 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2152 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2153 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2154 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2155 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2156 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2157 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2158 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2159 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2160 0 : a(46) = s46; a(47) = s47; a(48) = s48
2161 0 : END FUNCTION s2a_48
2162 : ! **************************************************************************************************
2163 : !> \brief ...
2164 : !> \param s1 ...
2165 : !> \param s2 ...
2166 : !> \param s3 ...
2167 : !> \param s4 ...
2168 : !> \param s5 ...
2169 : !> \param s6 ...
2170 : !> \param s7 ...
2171 : !> \param s8 ...
2172 : !> \param s9 ...
2173 : !> \param s10 ...
2174 : !> \param s11 ...
2175 : !> \param s12 ...
2176 : !> \param s13 ...
2177 : !> \param s14 ...
2178 : !> \param s15 ...
2179 : !> \param s16 ...
2180 : !> \param s17 ...
2181 : !> \param s18 ...
2182 : !> \param s19 ...
2183 : !> \param s20 ...
2184 : !> \param s21 ...
2185 : !> \param s22 ...
2186 : !> \param s23 ...
2187 : !> \param s24 ...
2188 : !> \param s25 ...
2189 : !> \param s26 ...
2190 : !> \param s27 ...
2191 : !> \param s28 ...
2192 : !> \param s29 ...
2193 : !> \param s30 ...
2194 : !> \param s31 ...
2195 : !> \param s32 ...
2196 : !> \param s33 ...
2197 : !> \param s34 ...
2198 : !> \param s35 ...
2199 : !> \param s36 ...
2200 : !> \param s37 ...
2201 : !> \param s38 ...
2202 : !> \param s39 ...
2203 : !> \param s40 ...
2204 : !> \param s41 ...
2205 : !> \param s42 ...
2206 : !> \param s43 ...
2207 : !> \param s44 ...
2208 : !> \param s45 ...
2209 : !> \param s46 ...
2210 : !> \param s47 ...
2211 : !> \param s48 ...
2212 : !> \param s49 ...
2213 : !> \return ...
2214 : ! **************************************************************************************************
2215 0 : PURE FUNCTION s2a_49(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2216 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2217 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2218 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2219 0 : s41, s42, s43, s44, s45, s46, s47, s48, s49) RESULT(a)
2220 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2221 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2222 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49
2223 : CHARACTER(LEN=1000), DIMENSION(49) :: a
2224 :
2225 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2226 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2227 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2228 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2229 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2230 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2231 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2232 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2233 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2234 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49
2235 0 : END FUNCTION s2a_49
2236 : ! **************************************************************************************************
2237 : !> \brief ...
2238 : !> \param s1 ...
2239 : !> \param s2 ...
2240 : !> \param s3 ...
2241 : !> \param s4 ...
2242 : !> \param s5 ...
2243 : !> \param s6 ...
2244 : !> \param s7 ...
2245 : !> \param s8 ...
2246 : !> \param s9 ...
2247 : !> \param s10 ...
2248 : !> \param s11 ...
2249 : !> \param s12 ...
2250 : !> \param s13 ...
2251 : !> \param s14 ...
2252 : !> \param s15 ...
2253 : !> \param s16 ...
2254 : !> \param s17 ...
2255 : !> \param s18 ...
2256 : !> \param s19 ...
2257 : !> \param s20 ...
2258 : !> \param s21 ...
2259 : !> \param s22 ...
2260 : !> \param s23 ...
2261 : !> \param s24 ...
2262 : !> \param s25 ...
2263 : !> \param s26 ...
2264 : !> \param s27 ...
2265 : !> \param s28 ...
2266 : !> \param s29 ...
2267 : !> \param s30 ...
2268 : !> \param s31 ...
2269 : !> \param s32 ...
2270 : !> \param s33 ...
2271 : !> \param s34 ...
2272 : !> \param s35 ...
2273 : !> \param s36 ...
2274 : !> \param s37 ...
2275 : !> \param s38 ...
2276 : !> \param s39 ...
2277 : !> \param s40 ...
2278 : !> \param s41 ...
2279 : !> \param s42 ...
2280 : !> \param s43 ...
2281 : !> \param s44 ...
2282 : !> \param s45 ...
2283 : !> \param s46 ...
2284 : !> \param s47 ...
2285 : !> \param s48 ...
2286 : !> \param s49 ...
2287 : !> \param s50 ...
2288 : !> \return ...
2289 : ! **************************************************************************************************
2290 0 : PURE FUNCTION s2a_50(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2291 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2292 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2293 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2294 0 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50) RESULT(a)
2295 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2296 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2297 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50
2298 : CHARACTER(LEN=1000), DIMENSION(50) :: a
2299 :
2300 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2301 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2302 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2303 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2304 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2305 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2306 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2307 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2308 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2309 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2310 0 : END FUNCTION s2a_50
2311 : ! **************************************************************************************************
2312 : !> \brief ...
2313 : !> \param s1 ...
2314 : !> \param s2 ...
2315 : !> \param s3 ...
2316 : !> \param s4 ...
2317 : !> \param s5 ...
2318 : !> \param s6 ...
2319 : !> \param s7 ...
2320 : !> \param s8 ...
2321 : !> \param s9 ...
2322 : !> \param s10 ...
2323 : !> \param s11 ...
2324 : !> \param s12 ...
2325 : !> \param s13 ...
2326 : !> \param s14 ...
2327 : !> \param s15 ...
2328 : !> \param s16 ...
2329 : !> \param s17 ...
2330 : !> \param s18 ...
2331 : !> \param s19 ...
2332 : !> \param s20 ...
2333 : !> \param s21 ...
2334 : !> \param s22 ...
2335 : !> \param s23 ...
2336 : !> \param s24 ...
2337 : !> \param s25 ...
2338 : !> \param s26 ...
2339 : !> \param s27 ...
2340 : !> \param s28 ...
2341 : !> \param s29 ...
2342 : !> \param s30 ...
2343 : !> \param s31 ...
2344 : !> \param s32 ...
2345 : !> \param s33 ...
2346 : !> \param s34 ...
2347 : !> \param s35 ...
2348 : !> \param s36 ...
2349 : !> \param s37 ...
2350 : !> \param s38 ...
2351 : !> \param s39 ...
2352 : !> \param s40 ...
2353 : !> \param s41 ...
2354 : !> \param s42 ...
2355 : !> \param s43 ...
2356 : !> \param s44 ...
2357 : !> \param s45 ...
2358 : !> \param s46 ...
2359 : !> \param s47 ...
2360 : !> \param s48 ...
2361 : !> \param s49 ...
2362 : !> \param s50 ...
2363 : !> \param s51 ...
2364 : !> \return ...
2365 : ! **************************************************************************************************
2366 0 : PURE FUNCTION s2a_51(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2367 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2368 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2369 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2370 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2371 0 : s51) RESULT(a)
2372 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2373 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2374 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2375 : s51
2376 : CHARACTER(LEN=1000), DIMENSION(51) :: a
2377 :
2378 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2379 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2380 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2381 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2382 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2383 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2384 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2385 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2386 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2387 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2388 0 : a(51) = s51
2389 0 : END FUNCTION s2a_51
2390 : ! **************************************************************************************************
2391 : !> \brief ...
2392 : !> \param s1 ...
2393 : !> \param s2 ...
2394 : !> \param s3 ...
2395 : !> \param s4 ...
2396 : !> \param s5 ...
2397 : !> \param s6 ...
2398 : !> \param s7 ...
2399 : !> \param s8 ...
2400 : !> \param s9 ...
2401 : !> \param s10 ...
2402 : !> \param s11 ...
2403 : !> \param s12 ...
2404 : !> \param s13 ...
2405 : !> \param s14 ...
2406 : !> \param s15 ...
2407 : !> \param s16 ...
2408 : !> \param s17 ...
2409 : !> \param s18 ...
2410 : !> \param s19 ...
2411 : !> \param s20 ...
2412 : !> \param s21 ...
2413 : !> \param s22 ...
2414 : !> \param s23 ...
2415 : !> \param s24 ...
2416 : !> \param s25 ...
2417 : !> \param s26 ...
2418 : !> \param s27 ...
2419 : !> \param s28 ...
2420 : !> \param s29 ...
2421 : !> \param s30 ...
2422 : !> \param s31 ...
2423 : !> \param s32 ...
2424 : !> \param s33 ...
2425 : !> \param s34 ...
2426 : !> \param s35 ...
2427 : !> \param s36 ...
2428 : !> \param s37 ...
2429 : !> \param s38 ...
2430 : !> \param s39 ...
2431 : !> \param s40 ...
2432 : !> \param s41 ...
2433 : !> \param s42 ...
2434 : !> \param s43 ...
2435 : !> \param s44 ...
2436 : !> \param s45 ...
2437 : !> \param s46 ...
2438 : !> \param s47 ...
2439 : !> \param s48 ...
2440 : !> \param s49 ...
2441 : !> \param s50 ...
2442 : !> \param s51 ...
2443 : !> \param s52 ...
2444 : !> \return ...
2445 : ! **************************************************************************************************
2446 0 : PURE FUNCTION s2a_52(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2447 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2448 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2449 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2450 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2451 0 : s51, s52) RESULT(a)
2452 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2453 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2454 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2455 : s51, s52
2456 : CHARACTER(LEN=1000), DIMENSION(52) :: a
2457 :
2458 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2459 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2460 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2461 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2462 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2463 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2464 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2465 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2466 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2467 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2468 0 : a(51) = s51; a(52) = s52
2469 0 : END FUNCTION s2a_52
2470 : ! **************************************************************************************************
2471 : !> \brief ...
2472 : !> \param s1 ...
2473 : !> \param s2 ...
2474 : !> \param s3 ...
2475 : !> \param s4 ...
2476 : !> \param s5 ...
2477 : !> \param s6 ...
2478 : !> \param s7 ...
2479 : !> \param s8 ...
2480 : !> \param s9 ...
2481 : !> \param s10 ...
2482 : !> \param s11 ...
2483 : !> \param s12 ...
2484 : !> \param s13 ...
2485 : !> \param s14 ...
2486 : !> \param s15 ...
2487 : !> \param s16 ...
2488 : !> \param s17 ...
2489 : !> \param s18 ...
2490 : !> \param s19 ...
2491 : !> \param s20 ...
2492 : !> \param s21 ...
2493 : !> \param s22 ...
2494 : !> \param s23 ...
2495 : !> \param s24 ...
2496 : !> \param s25 ...
2497 : !> \param s26 ...
2498 : !> \param s27 ...
2499 : !> \param s28 ...
2500 : !> \param s29 ...
2501 : !> \param s30 ...
2502 : !> \param s31 ...
2503 : !> \param s32 ...
2504 : !> \param s33 ...
2505 : !> \param s34 ...
2506 : !> \param s35 ...
2507 : !> \param s36 ...
2508 : !> \param s37 ...
2509 : !> \param s38 ...
2510 : !> \param s39 ...
2511 : !> \param s40 ...
2512 : !> \param s41 ...
2513 : !> \param s42 ...
2514 : !> \param s43 ...
2515 : !> \param s44 ...
2516 : !> \param s45 ...
2517 : !> \param s46 ...
2518 : !> \param s47 ...
2519 : !> \param s48 ...
2520 : !> \param s49 ...
2521 : !> \param s50 ...
2522 : !> \param s51 ...
2523 : !> \param s52 ...
2524 : !> \param s53 ...
2525 : !> \return ...
2526 : ! **************************************************************************************************
2527 0 : PURE FUNCTION s2a_53(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2528 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2529 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2530 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2531 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2532 0 : s51, s52, s53) RESULT(a)
2533 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2534 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2535 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2536 : s51, s52, s53
2537 : CHARACTER(LEN=1000), DIMENSION(53) :: a
2538 :
2539 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2540 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2541 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2542 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2543 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2544 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2545 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2546 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2547 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2548 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2549 0 : a(51) = s51; a(52) = s52; a(53) = s53
2550 0 : END FUNCTION s2a_53
2551 : ! **************************************************************************************************
2552 : !> \brief ...
2553 : !> \param s1 ...
2554 : !> \param s2 ...
2555 : !> \param s3 ...
2556 : !> \param s4 ...
2557 : !> \param s5 ...
2558 : !> \param s6 ...
2559 : !> \param s7 ...
2560 : !> \param s8 ...
2561 : !> \param s9 ...
2562 : !> \param s10 ...
2563 : !> \param s11 ...
2564 : !> \param s12 ...
2565 : !> \param s13 ...
2566 : !> \param s14 ...
2567 : !> \param s15 ...
2568 : !> \param s16 ...
2569 : !> \param s17 ...
2570 : !> \param s18 ...
2571 : !> \param s19 ...
2572 : !> \param s20 ...
2573 : !> \param s21 ...
2574 : !> \param s22 ...
2575 : !> \param s23 ...
2576 : !> \param s24 ...
2577 : !> \param s25 ...
2578 : !> \param s26 ...
2579 : !> \param s27 ...
2580 : !> \param s28 ...
2581 : !> \param s29 ...
2582 : !> \param s30 ...
2583 : !> \param s31 ...
2584 : !> \param s32 ...
2585 : !> \param s33 ...
2586 : !> \param s34 ...
2587 : !> \param s35 ...
2588 : !> \param s36 ...
2589 : !> \param s37 ...
2590 : !> \param s38 ...
2591 : !> \param s39 ...
2592 : !> \param s40 ...
2593 : !> \param s41 ...
2594 : !> \param s42 ...
2595 : !> \param s43 ...
2596 : !> \param s44 ...
2597 : !> \param s45 ...
2598 : !> \param s46 ...
2599 : !> \param s47 ...
2600 : !> \param s48 ...
2601 : !> \param s49 ...
2602 : !> \param s50 ...
2603 : !> \param s51 ...
2604 : !> \param s52 ...
2605 : !> \param s53 ...
2606 : !> \param s54 ...
2607 : !> \return ...
2608 : ! **************************************************************************************************
2609 0 : PURE FUNCTION s2a_54(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2610 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2611 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2612 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2613 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2614 0 : s51, s52, s53, s54) RESULT(a)
2615 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2616 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2617 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2618 : s51, s52, s53, s54
2619 : CHARACTER(LEN=1000), DIMENSION(54) :: a
2620 :
2621 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2622 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2623 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2624 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2625 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2626 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2627 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2628 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2629 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2630 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2631 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54
2632 0 : END FUNCTION s2a_54
2633 : ! **************************************************************************************************
2634 : !> \brief ...
2635 : !> \param s1 ...
2636 : !> \param s2 ...
2637 : !> \param s3 ...
2638 : !> \param s4 ...
2639 : !> \param s5 ...
2640 : !> \param s6 ...
2641 : !> \param s7 ...
2642 : !> \param s8 ...
2643 : !> \param s9 ...
2644 : !> \param s10 ...
2645 : !> \param s11 ...
2646 : !> \param s12 ...
2647 : !> \param s13 ...
2648 : !> \param s14 ...
2649 : !> \param s15 ...
2650 : !> \param s16 ...
2651 : !> \param s17 ...
2652 : !> \param s18 ...
2653 : !> \param s19 ...
2654 : !> \param s20 ...
2655 : !> \param s21 ...
2656 : !> \param s22 ...
2657 : !> \param s23 ...
2658 : !> \param s24 ...
2659 : !> \param s25 ...
2660 : !> \param s26 ...
2661 : !> \param s27 ...
2662 : !> \param s28 ...
2663 : !> \param s29 ...
2664 : !> \param s30 ...
2665 : !> \param s31 ...
2666 : !> \param s32 ...
2667 : !> \param s33 ...
2668 : !> \param s34 ...
2669 : !> \param s35 ...
2670 : !> \param s36 ...
2671 : !> \param s37 ...
2672 : !> \param s38 ...
2673 : !> \param s39 ...
2674 : !> \param s40 ...
2675 : !> \param s41 ...
2676 : !> \param s42 ...
2677 : !> \param s43 ...
2678 : !> \param s44 ...
2679 : !> \param s45 ...
2680 : !> \param s46 ...
2681 : !> \param s47 ...
2682 : !> \param s48 ...
2683 : !> \param s49 ...
2684 : !> \param s50 ...
2685 : !> \param s51 ...
2686 : !> \param s52 ...
2687 : !> \param s53 ...
2688 : !> \param s54 ...
2689 : !> \param s55 ...
2690 : !> \return ...
2691 : ! **************************************************************************************************
2692 0 : PURE FUNCTION s2a_55(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2693 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2694 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2695 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2696 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2697 0 : s51, s52, s53, s54, s55) RESULT(a)
2698 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2699 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2700 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2701 : s51, s52, s53, s54, s55
2702 : CHARACTER(LEN=1000), DIMENSION(55) :: a
2703 :
2704 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2705 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2706 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2707 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2708 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2709 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2710 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2711 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2712 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2713 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2714 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2715 0 : END FUNCTION s2a_55
2716 : ! **************************************************************************************************
2717 : !> \brief ...
2718 : !> \param s1 ...
2719 : !> \param s2 ...
2720 : !> \param s3 ...
2721 : !> \param s4 ...
2722 : !> \param s5 ...
2723 : !> \param s6 ...
2724 : !> \param s7 ...
2725 : !> \param s8 ...
2726 : !> \param s9 ...
2727 : !> \param s10 ...
2728 : !> \param s11 ...
2729 : !> \param s12 ...
2730 : !> \param s13 ...
2731 : !> \param s14 ...
2732 : !> \param s15 ...
2733 : !> \param s16 ...
2734 : !> \param s17 ...
2735 : !> \param s18 ...
2736 : !> \param s19 ...
2737 : !> \param s20 ...
2738 : !> \param s21 ...
2739 : !> \param s22 ...
2740 : !> \param s23 ...
2741 : !> \param s24 ...
2742 : !> \param s25 ...
2743 : !> \param s26 ...
2744 : !> \param s27 ...
2745 : !> \param s28 ...
2746 : !> \param s29 ...
2747 : !> \param s30 ...
2748 : !> \param s31 ...
2749 : !> \param s32 ...
2750 : !> \param s33 ...
2751 : !> \param s34 ...
2752 : !> \param s35 ...
2753 : !> \param s36 ...
2754 : !> \param s37 ...
2755 : !> \param s38 ...
2756 : !> \param s39 ...
2757 : !> \param s40 ...
2758 : !> \param s41 ...
2759 : !> \param s42 ...
2760 : !> \param s43 ...
2761 : !> \param s44 ...
2762 : !> \param s45 ...
2763 : !> \param s46 ...
2764 : !> \param s47 ...
2765 : !> \param s48 ...
2766 : !> \param s49 ...
2767 : !> \param s50 ...
2768 : !> \param s51 ...
2769 : !> \param s52 ...
2770 : !> \param s53 ...
2771 : !> \param s54 ...
2772 : !> \param s55 ...
2773 : !> \param s56 ...
2774 : !> \return ...
2775 : ! **************************************************************************************************
2776 0 : PURE FUNCTION s2a_56(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2777 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2778 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2779 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2780 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2781 0 : s51, s52, s53, s54, s55, s56) RESULT(a)
2782 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2783 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2784 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2785 : s51, s52, s53, s54, s55, s56
2786 : CHARACTER(LEN=1000), DIMENSION(56) :: a
2787 :
2788 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2789 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2790 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2791 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2792 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2793 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2794 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2795 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2796 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2797 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2798 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2799 0 : a(56) = s56
2800 0 : END FUNCTION s2a_56
2801 : ! **************************************************************************************************
2802 : !> \brief ...
2803 : !> \param s1 ...
2804 : !> \param s2 ...
2805 : !> \param s3 ...
2806 : !> \param s4 ...
2807 : !> \param s5 ...
2808 : !> \param s6 ...
2809 : !> \param s7 ...
2810 : !> \param s8 ...
2811 : !> \param s9 ...
2812 : !> \param s10 ...
2813 : !> \param s11 ...
2814 : !> \param s12 ...
2815 : !> \param s13 ...
2816 : !> \param s14 ...
2817 : !> \param s15 ...
2818 : !> \param s16 ...
2819 : !> \param s17 ...
2820 : !> \param s18 ...
2821 : !> \param s19 ...
2822 : !> \param s20 ...
2823 : !> \param s21 ...
2824 : !> \param s22 ...
2825 : !> \param s23 ...
2826 : !> \param s24 ...
2827 : !> \param s25 ...
2828 : !> \param s26 ...
2829 : !> \param s27 ...
2830 : !> \param s28 ...
2831 : !> \param s29 ...
2832 : !> \param s30 ...
2833 : !> \param s31 ...
2834 : !> \param s32 ...
2835 : !> \param s33 ...
2836 : !> \param s34 ...
2837 : !> \param s35 ...
2838 : !> \param s36 ...
2839 : !> \param s37 ...
2840 : !> \param s38 ...
2841 : !> \param s39 ...
2842 : !> \param s40 ...
2843 : !> \param s41 ...
2844 : !> \param s42 ...
2845 : !> \param s43 ...
2846 : !> \param s44 ...
2847 : !> \param s45 ...
2848 : !> \param s46 ...
2849 : !> \param s47 ...
2850 : !> \param s48 ...
2851 : !> \param s49 ...
2852 : !> \param s50 ...
2853 : !> \param s51 ...
2854 : !> \param s52 ...
2855 : !> \param s53 ...
2856 : !> \param s54 ...
2857 : !> \param s55 ...
2858 : !> \param s56 ...
2859 : !> \param s57 ...
2860 : !> \return ...
2861 : ! **************************************************************************************************
2862 0 : PURE FUNCTION s2a_57(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2863 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2864 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2865 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2866 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2867 0 : s51, s52, s53, s54, s55, s56, s57) RESULT(a)
2868 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2869 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2870 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2871 : s51, s52, s53, s54, s55, s56, s57
2872 : CHARACTER(LEN=1000), DIMENSION(57) :: a
2873 :
2874 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2875 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2876 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2877 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2878 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2879 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2880 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2881 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2882 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2883 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2884 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2885 0 : a(56) = s56; a(57) = s57
2886 0 : END FUNCTION s2a_57
2887 : ! **************************************************************************************************
2888 : !> \brief ...
2889 : !> \param s1 ...
2890 : !> \param s2 ...
2891 : !> \param s3 ...
2892 : !> \param s4 ...
2893 : !> \param s5 ...
2894 : !> \param s6 ...
2895 : !> \param s7 ...
2896 : !> \param s8 ...
2897 : !> \param s9 ...
2898 : !> \param s10 ...
2899 : !> \param s11 ...
2900 : !> \param s12 ...
2901 : !> \param s13 ...
2902 : !> \param s14 ...
2903 : !> \param s15 ...
2904 : !> \param s16 ...
2905 : !> \param s17 ...
2906 : !> \param s18 ...
2907 : !> \param s19 ...
2908 : !> \param s20 ...
2909 : !> \param s21 ...
2910 : !> \param s22 ...
2911 : !> \param s23 ...
2912 : !> \param s24 ...
2913 : !> \param s25 ...
2914 : !> \param s26 ...
2915 : !> \param s27 ...
2916 : !> \param s28 ...
2917 : !> \param s29 ...
2918 : !> \param s30 ...
2919 : !> \param s31 ...
2920 : !> \param s32 ...
2921 : !> \param s33 ...
2922 : !> \param s34 ...
2923 : !> \param s35 ...
2924 : !> \param s36 ...
2925 : !> \param s37 ...
2926 : !> \param s38 ...
2927 : !> \param s39 ...
2928 : !> \param s40 ...
2929 : !> \param s41 ...
2930 : !> \param s42 ...
2931 : !> \param s43 ...
2932 : !> \param s44 ...
2933 : !> \param s45 ...
2934 : !> \param s46 ...
2935 : !> \param s47 ...
2936 : !> \param s48 ...
2937 : !> \param s49 ...
2938 : !> \param s50 ...
2939 : !> \param s51 ...
2940 : !> \param s52 ...
2941 : !> \param s53 ...
2942 : !> \param s54 ...
2943 : !> \param s55 ...
2944 : !> \param s56 ...
2945 : !> \param s57 ...
2946 : !> \param s58 ...
2947 : !> \return ...
2948 : ! **************************************************************************************************
2949 0 : PURE FUNCTION s2a_58(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
2950 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
2951 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
2952 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
2953 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2954 0 : s51, s52, s53, s54, s55, s56, s57, s58) RESULT(a)
2955 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
2956 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
2957 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
2958 : s51, s52, s53, s54, s55, s56, s57, s58
2959 : CHARACTER(LEN=1000), DIMENSION(58) :: a
2960 :
2961 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2962 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2963 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2964 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2965 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2966 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2967 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2968 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2969 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2970 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2971 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2972 0 : a(56) = s56; a(57) = s57; a(58) = s58
2973 0 : END FUNCTION s2a_58
2974 : ! **************************************************************************************************
2975 : !> \brief ...
2976 : !> \param s1 ...
2977 : !> \param s2 ...
2978 : !> \param s3 ...
2979 : !> \param s4 ...
2980 : !> \param s5 ...
2981 : !> \param s6 ...
2982 : !> \param s7 ...
2983 : !> \param s8 ...
2984 : !> \param s9 ...
2985 : !> \param s10 ...
2986 : !> \param s11 ...
2987 : !> \param s12 ...
2988 : !> \param s13 ...
2989 : !> \param s14 ...
2990 : !> \param s15 ...
2991 : !> \param s16 ...
2992 : !> \param s17 ...
2993 : !> \param s18 ...
2994 : !> \param s19 ...
2995 : !> \param s20 ...
2996 : !> \param s21 ...
2997 : !> \param s22 ...
2998 : !> \param s23 ...
2999 : !> \param s24 ...
3000 : !> \param s25 ...
3001 : !> \param s26 ...
3002 : !> \param s27 ...
3003 : !> \param s28 ...
3004 : !> \param s29 ...
3005 : !> \param s30 ...
3006 : !> \param s31 ...
3007 : !> \param s32 ...
3008 : !> \param s33 ...
3009 : !> \param s34 ...
3010 : !> \param s35 ...
3011 : !> \param s36 ...
3012 : !> \param s37 ...
3013 : !> \param s38 ...
3014 : !> \param s39 ...
3015 : !> \param s40 ...
3016 : !> \param s41 ...
3017 : !> \param s42 ...
3018 : !> \param s43 ...
3019 : !> \param s44 ...
3020 : !> \param s45 ...
3021 : !> \param s46 ...
3022 : !> \param s47 ...
3023 : !> \param s48 ...
3024 : !> \param s49 ...
3025 : !> \param s50 ...
3026 : !> \param s51 ...
3027 : !> \param s52 ...
3028 : !> \param s53 ...
3029 : !> \param s54 ...
3030 : !> \param s55 ...
3031 : !> \param s56 ...
3032 : !> \param s57 ...
3033 : !> \param s58 ...
3034 : !> \param s59 ...
3035 : !> \return ...
3036 : ! **************************************************************************************************
3037 0 : PURE FUNCTION s2a_59(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
3038 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
3039 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
3040 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
3041 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
3042 0 : s51, s52, s53, s54, s55, s56, s57, s58, s59) RESULT(a)
3043 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
3044 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
3045 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
3046 : s51, s52, s53, s54, s55, s56, s57, s58, s59
3047 : CHARACTER(LEN=1000), DIMENSION(59) :: a
3048 :
3049 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
3050 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
3051 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
3052 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
3053 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
3054 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
3055 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
3056 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
3057 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
3058 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
3059 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
3060 0 : a(56) = s56; a(57) = s57; a(58) = s58; a(59) = s59
3061 0 : END FUNCTION s2a_59
3062 : ! **************************************************************************************************
3063 : !> \brief ...
3064 : !> \param s1 ...
3065 : !> \param s2 ...
3066 : !> \param s3 ...
3067 : !> \param s4 ...
3068 : !> \param s5 ...
3069 : !> \param s6 ...
3070 : !> \param s7 ...
3071 : !> \param s8 ...
3072 : !> \param s9 ...
3073 : !> \param s10 ...
3074 : !> \param s11 ...
3075 : !> \param s12 ...
3076 : !> \param s13 ...
3077 : !> \param s14 ...
3078 : !> \param s15 ...
3079 : !> \param s16 ...
3080 : !> \param s17 ...
3081 : !> \param s18 ...
3082 : !> \param s19 ...
3083 : !> \param s20 ...
3084 : !> \param s21 ...
3085 : !> \param s22 ...
3086 : !> \param s23 ...
3087 : !> \param s24 ...
3088 : !> \param s25 ...
3089 : !> \param s26 ...
3090 : !> \param s27 ...
3091 : !> \param s28 ...
3092 : !> \param s29 ...
3093 : !> \param s30 ...
3094 : !> \param s31 ...
3095 : !> \param s32 ...
3096 : !> \param s33 ...
3097 : !> \param s34 ...
3098 : !> \param s35 ...
3099 : !> \param s36 ...
3100 : !> \param s37 ...
3101 : !> \param s38 ...
3102 : !> \param s39 ...
3103 : !> \param s40 ...
3104 : !> \param s41 ...
3105 : !> \param s42 ...
3106 : !> \param s43 ...
3107 : !> \param s44 ...
3108 : !> \param s45 ...
3109 : !> \param s46 ...
3110 : !> \param s47 ...
3111 : !> \param s48 ...
3112 : !> \param s49 ...
3113 : !> \param s50 ...
3114 : !> \param s51 ...
3115 : !> \param s52 ...
3116 : !> \param s53 ...
3117 : !> \param s54 ...
3118 : !> \param s55 ...
3119 : !> \param s56 ...
3120 : !> \param s57 ...
3121 : !> \param s58 ...
3122 : !> \param s59 ...
3123 : !> \param s60 ...
3124 : !> \return ...
3125 : ! **************************************************************************************************
3126 0 : PURE FUNCTION s2a_60(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, &
3127 : s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, &
3128 : s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, &
3129 : s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, &
3130 : s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
3131 0 : s51, s52, s53, s54, s55, s56, s57, s58, s59, s60) RESULT(a)
3132 : CHARACTER(LEN=*), INTENT(IN) :: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, &
3133 : s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, &
3134 : s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, &
3135 : s51, s52, s53, s54, s55, s56, s57, s58, s59, s60
3136 : CHARACTER(LEN=1000), DIMENSION(60) :: a
3137 :
3138 0 : a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
3139 0 : a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
3140 0 : a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
3141 0 : a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
3142 0 : a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
3143 0 : a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
3144 0 : a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
3145 0 : a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
3146 0 : a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
3147 0 : a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
3148 0 : a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
3149 0 : a(56) = s56; a(57) = s57; a(58) = s58; a(59) = s59; a(60) = s60
3150 0 : END FUNCTION s2a_60
3151 :
3152 : ! **************************************************************************************************
3153 : !> \brief Convert a sequence of integer numbers (ASCII code) to a string.
3154 : !> Blanks are inserted for invalid ASCII code numbers.
3155 : !> \param nascii ...
3156 : !> \param string ...
3157 : !> \date 19.10.2000
3158 : !> \author MK
3159 : !> \version 1.0
3160 : ! **************************************************************************************************
3161 63042 : SUBROUTINE ascii_to_string(nascii, string)
3162 :
3163 : INTEGER, DIMENSION(:), INTENT(IN) :: nascii
3164 : CHARACTER(LEN=*), INTENT(OUT) :: string
3165 :
3166 : INTEGER :: i
3167 :
3168 31521 : string = ""
3169 :
3170 13678099 : DO i = 1, MIN(LEN(string), SIZE(nascii))
3171 13678099 : IF ((nascii(i) >= 0) .AND. (nascii(i) <= 127)) THEN
3172 13646578 : string(i:i) = CHAR(nascii(i))
3173 : ELSE
3174 0 : string(i:i) = " "
3175 : END IF
3176 : END DO
3177 :
3178 31521 : END SUBROUTINE ascii_to_string
3179 :
3180 : ! **************************************************************************************************
3181 : !> \brief Eliminate multiple space characters in a string.
3182 : !> If full is .TRUE., then all spaces are eliminated.
3183 : !> \param string ...
3184 : !> \param full ...
3185 : !> \date 23.06.1998
3186 : !> \author MK
3187 : !> \version 1.0
3188 : ! **************************************************************************************************
3189 58199418 : SUBROUTINE compress(string, full)
3190 :
3191 : CHARACTER(LEN=*), INTENT(INOUT) :: string
3192 : LOGICAL, INTENT(IN), OPTIONAL :: full
3193 :
3194 : CHARACTER :: tmp
3195 : INTEGER :: i, z
3196 : LOGICAL :: remove_all
3197 :
3198 58199418 : IF (PRESENT(full)) THEN
3199 57893841 : remove_all = full
3200 : ELSE
3201 : remove_all = .FALSE.
3202 : END IF
3203 :
3204 58199418 : z = 1
3205 :
3206 587346628 : DO i = 1, LEN_TRIM(string)
3207 587346628 : IF ((z == 1) .OR. remove_all) THEN
3208 521821578 : IF (string(i:i) /= " ") THEN
3209 190151174 : tmp = string(i:i)
3210 190151174 : string(z:z) = tmp
3211 190151174 : z = z + 1
3212 : END IF
3213 : ELSE
3214 7325632 : IF ((string(i:i) /= " ") .OR. (string(z - 1:z - 1) /= " ")) THEN
3215 7193116 : tmp = string(i:i)
3216 7193116 : string(z:z) = tmp
3217 7193116 : z = z + 1
3218 : END IF
3219 : END IF
3220 : END DO
3221 :
3222 58199418 : string(z:) = ""
3223 :
3224 58199418 : END SUBROUTINE compress
3225 :
3226 : ! **************************************************************************************************
3227 : !> \brief Converts an integer number to a string.
3228 : !> The WRITE statement will return an error message, if the number of
3229 : !> digits of the integer number is larger the than the length of the
3230 : !> supplied string.
3231 : !> \param inumber ...
3232 : !> \param string ...
3233 : !> \date 05.01.2004
3234 : !> \author MK
3235 : !> \version 1.0
3236 : ! **************************************************************************************************
3237 233644 : SUBROUTINE integer_to_string(inumber, string)
3238 :
3239 : INTEGER, INTENT(IN) :: inumber
3240 : CHARACTER(LEN=*), INTENT(OUT) :: string
3241 :
3242 233644 : WRITE (UNIT=string, FMT='(I0)') inumber
3243 233644 : END SUBROUTINE integer_to_string
3244 :
3245 : ! **************************************************************************************************
3246 : !> \brief Convert a string to sequence of integer numbers.
3247 : !> \param string ...
3248 : !> \param nascii ...
3249 : !> \date 19.10.2000
3250 : !> \author MK
3251 : !> \version 1.0
3252 : ! **************************************************************************************************
3253 15975 : SUBROUTINE string_to_ascii(string, nascii)
3254 :
3255 : CHARACTER(LEN=*), INTENT(IN) :: string
3256 : INTEGER, DIMENSION(:), INTENT(OUT) :: nascii
3257 :
3258 : INTEGER :: i
3259 :
3260 6931538 : nascii(:) = 0
3261 :
3262 6931538 : DO i = 1, MIN(LEN(string), SIZE(nascii))
3263 6931538 : nascii(i) = ICHAR(string(i:i))
3264 : END DO
3265 :
3266 15975 : END SUBROUTINE string_to_ascii
3267 :
3268 : ! **************************************************************************************************
3269 : !> \brief remove a word from a string (words are separated by white spaces)
3270 : !> \param string ...
3271 : !> \version 1.0
3272 : ! **************************************************************************************************
3273 8714 : SUBROUTINE remove_word(string)
3274 : CHARACTER(LEN=*), INTENT(INOUT) :: string
3275 :
3276 : INTEGER :: i
3277 :
3278 8714 : i = 1
3279 : ! possibly clean white spaces
3280 39542 : DO WHILE (string(i:i) == " ")
3281 30828 : i = i + 1
3282 : END DO
3283 : ! now remove the word
3284 83998 : DO WHILE (string(i:i) /= " ")
3285 75284 : i = i + 1
3286 : END DO
3287 8714 : string = string(i:)
3288 :
3289 8714 : END SUBROUTINE remove_word
3290 :
3291 : ! **************************************************************************************************
3292 : !> \brief Substitutes the five predefined XML entities: &, <, >, ', and ".
3293 : !> \param inp_string ...
3294 : !> \return ...
3295 : !> !> \author Ole Schuett
3296 : ! **************************************************************************************************
3297 0 : FUNCTION substitute_special_xml_tokens(inp_string) RESULT(out_string)
3298 :
3299 : CHARACTER(LEN=*), INTENT(IN) :: inp_string
3300 : CHARACTER(LEN=2*LEN(inp_string)) :: out_string
3301 :
3302 : INTEGER :: i, j
3303 :
3304 0 : out_string = ""
3305 :
3306 0 : j = 1
3307 0 : DO i = 1, LEN_TRIM(inp_string)
3308 0 : SELECT CASE (inp_string(i:i))
3309 : CASE ("<")
3310 0 : out_string(j:j + 3) = "<"
3311 0 : j = j + 4
3312 : CASE (">")
3313 0 : out_string(j:j + 3) = ">"
3314 0 : j = j + 4
3315 : CASE ("&")
3316 0 : out_string(j:j + 4) = "&"
3317 0 : j = j + 5
3318 : CASE ("'")
3319 0 : out_string(j:j + 5) = "'"
3320 0 : j = j + 6
3321 : CASE ('"')
3322 0 : out_string(j:j + 5) = """
3323 0 : j = j + 6
3324 : CASE DEFAULT
3325 0 : out_string(j:j) = inp_string(i:i)
3326 0 : j = j + 1
3327 : END SELECT
3328 : END DO
3329 :
3330 0 : END FUNCTION substitute_special_xml_tokens
3331 :
3332 : ! **************************************************************************************************
3333 : !> \brief Convert all upper case characters in a string to lower case.
3334 : !> \param string ...
3335 : !> \date 14.08.2013
3336 : !> \author Matthias Krack (MK)
3337 : !> \version 1.0
3338 : ! **************************************************************************************************
3339 0 : ELEMENTAL SUBROUTINE lowercase(string)
3340 : CHARACTER(LEN=*), INTENT(INOUT) :: string
3341 :
3342 : INTEGER :: i, iascii
3343 :
3344 0 : DO i = 1, LEN_TRIM(string)
3345 0 : iascii = ICHAR(string(i:i))
3346 0 : IF ((iascii >= 65) .AND. (iascii <= 90)) THEN
3347 0 : string(i:i) = CHAR(iascii + 32)
3348 : END IF
3349 : END DO
3350 :
3351 0 : END SUBROUTINE lowercase
3352 :
3353 : ! **************************************************************************************************
3354 : !> \brief Convert all lower case characters in a string to upper case.
3355 : !> \param string ...
3356 : !> \date 22.06.1998
3357 : !> \author MK
3358 : !> \version 1.0
3359 : ! **************************************************************************************************
3360 1145240272 : ELEMENTAL SUBROUTINE uppercase(string)
3361 : CHARACTER(LEN=*), INTENT(INOUT) :: string
3362 :
3363 : INTEGER :: i, iascii
3364 :
3365 12129495662 : DO i = 1, LEN_TRIM(string)
3366 10984255390 : iascii = ICHAR(string(i:i))
3367 12129495662 : IF ((iascii >= 97) .AND. (iascii <= 122)) THEN
3368 3054198354 : string(i:i) = CHAR(iascii - 32)
3369 : END IF
3370 : END DO
3371 :
3372 1145240272 : END SUBROUTINE uppercase
3373 :
3374 : ! **************************************************************************************************
3375 : !> \brief ...
3376 : !> \param string ...
3377 : !> \param ia ...
3378 : !> \param ib ...
3379 : ! **************************************************************************************************
3380 3754 : ELEMENTAL SUBROUTINE xstring(string, ia, ib)
3381 :
3382 : CHARACTER(LEN=*), INTENT(IN) :: string
3383 : INTEGER, INTENT(OUT) :: ia, ib
3384 :
3385 3754 : ia = 1
3386 3754 : ib = LEN_TRIM(string)
3387 3754 : IF (ib > 0) THEN
3388 3754 : DO WHILE (string(ia:ia) == ' ')
3389 0 : ia = ia + 1
3390 : END DO
3391 : END IF
3392 :
3393 3754 : END SUBROUTINE xstring
3394 :
3395 : ! **************************************************************************************************
3396 : !> \brief ...
3397 : !> \param str1 ...
3398 : !> \param str2 ...
3399 : !> \return ...
3400 : ! **************************************************************************************************
3401 2 : ELEMENTAL FUNCTION str_comp(str1, str2) RESULT(equal)
3402 :
3403 : CHARACTER(LEN=*), INTENT(IN) :: str1, str2
3404 : LOGICAL :: equal
3405 :
3406 : INTEGER :: i1, i2, j1, j2
3407 :
3408 2 : i1 = 0
3409 2 : i2 = 0
3410 2 : j1 = 0
3411 2 : j2 = 0
3412 2 : CALL xstring(str1, i1, i2)
3413 2 : CALL xstring(str2, j1, j2)
3414 2 : equal = (str1(i1:i2) == str2(j1:j2))
3415 2 : END FUNCTION str_comp
3416 :
3417 : ! **************************************************************************************************
3418 : !> \brief returns .true. if the character passed is a whitespace char.
3419 : !> \param testchar ...
3420 : !> \return ...
3421 : !> \par History
3422 : !> 02.2008 created, AK
3423 : ! **************************************************************************************************
3424 931095437 : ELEMENTAL FUNCTION is_whitespace(testchar) RESULT(resval)
3425 : CHARACTER(LEN=1), INTENT(IN) :: testchar
3426 : LOGICAL :: resval
3427 :
3428 931095437 : resval = .FALSE.
3429 1153260635 : IF (ANY(default_blank_character == testchar)) resval = .TRUE.
3430 931095437 : END FUNCTION is_whitespace
3431 :
3432 : ! **************************************************************************************************
3433 : !> \brief Strip control codes and extended characters from a string, i.e. replace them with blanks
3434 : !> \param string ...
3435 : !> \date 13.12.2019
3436 : !> \author MK
3437 : !> \version 1.0
3438 : ! **************************************************************************************************
3439 1284 : ELEMENTAL SUBROUTINE strip_control_codes(string)
3440 :
3441 : CHARACTER(LEN=*), INTENT(INOUT) :: string
3442 :
3443 : INTEGER :: i, iascii
3444 :
3445 12840 : DO i = 1, LEN(string)
3446 11556 : iascii = ICHAR(string(i:i))
3447 12840 : IF ((iascii < 32) .OR. (iascii > 126)) string(i:i) = " "
3448 : END DO
3449 :
3450 1284 : END SUBROUTINE strip_control_codes
3451 :
3452 : ! **************************************************************************************************
3453 : !> \brief Copy the content of a \0-terminated C-string to a finite-length Fortran string
3454 : !>
3455 : !> The content of the new string may be truncated if the number of characters before the '\0'
3456 : !> in the source string exceed the length of the destination string. Based on the strlcpy C function.
3457 : !> \param fstring destination string
3458 : !> \param cstring source string
3459 : !> \return the number of characters copied
3460 : !> \author Tiziano Müller
3461 : ! **************************************************************************************************
3462 94953 : FUNCTION strlcpy_c2f(fstring, cstring) RESULT(nchar)
3463 : CHARACTER(LEN=*), INTENT(OUT) :: fstring
3464 : CHARACTER(LEN=1, KIND=C_CHAR), INTENT(IN) :: cstring(*)
3465 : INTEGER :: nchar
3466 :
3467 7095058 : DO nchar = 1, LEN(fstring)
3468 7095058 : IF (cstring(nchar) == C_NULL_CHAR) EXIT
3469 7095058 : fstring(nchar:nchar) = cstring(nchar)
3470 : END DO
3471 :
3472 94953 : nchar = nchar - 1
3473 94953 : END FUNCTION strlcpy_c2f
3474 :
3475 : END MODULE string_utilities
|