(git:374b731)
Loading...
Searching...
No Matches
string_utilities.F
Go to the documentation of this file.
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! **************************************************************************************************
17
18 USE iso_c_binding, ONLY: c_char,&
19 c_null_char
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, &
36 s2a, a2s, &
37 str_comp, &
41 typo_match, &
42 uppercase, &
43 xstring, &
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
57CONTAINS
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 ELEMENTAL FUNCTION typo_match(string, typo_string) RESULT(match)
70 CHARACTER(LEN=*), INTENT(IN) :: string, typo_string
71 INTEGER :: match
72
73 match = max(0, 100 - levenshtein_distance(string, typo_string))
74
75 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 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 INTEGER, ALLOCATABLE, DIMENSION(:, :) :: d
91
92 m = len_trim(s)
93 n = len_trim(t)
94
95 ! distance between the first i characters of s and the first j characters of t
96 ALLOCATE (d(0:m, 0:n))
97 d(:, :) = 0
98
99 ! source prefixes can be transformed into empty string by dropping all characters
100 DO i = 1, m
101 d(i, 0) = i
102 END DO
103
104 ! target prefixes can be reached from empty source prefix by inserting every character
105 DO j = 1, n
106 d(0, j) = j
107 END DO
108
109 DO j = 1, n
110 DO i = 1, m
111 IF (s(i:i) == t(j:j)) THEN
112 substitution_cost = 0
113 ELSE
114 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 d(i - 1, j - 1) + substitution_cost) ! substitution
119 END DO
120 END DO
121
122 distance = d(m, n)
123
124 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 PURE FUNCTION a2s(array) RESULT(string)
134 CHARACTER, DIMENSION(:), INTENT(IN) :: array
135 CHARACTER(LEN=SIZE(array)) :: string
136
137 INTEGER :: i
138
139 DO i = 1, SIZE(array)
140 string(i:i) = array(i)
141 END DO
142 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 PURE FUNCTION s2a_1(s1) RESULT(a)
156 CHARACTER(LEN=*), INTENT(IN) :: s1
157 CHARACTER(LEN=1000), DIMENSION(1) :: a
158
159 a(1) = s1
160 END FUNCTION s2a_1
161 ! **************************************************************************************************
162! **************************************************************************************************
163!> \brief ...
164!> \param s1 ...
165!> \param s2 ...
166!> \return ...
167! **************************************************************************************************
168 PURE FUNCTION s2a_2(s1, s2) RESULT(a)
169 CHARACTER(LEN=*), INTENT(IN) :: s1, s2
170 CHARACTER(LEN=1000), DIMENSION(2) :: a
171
172 a(1) = s1; a(2) = s2
173 END FUNCTION s2a_2
174 ! **************************************************************************************************
175! **************************************************************************************************
176!> \brief ...
177!> \param s1 ...
178!> \param s2 ...
179!> \param s3 ...
180!> \return ...
181! **************************************************************************************************
182 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 a(1) = s1; a(2) = s2; a(3) = s3
187 END FUNCTION s2a_3
188 ! **************************************************************************************************
189! **************************************************************************************************
190!> \brief ...
191!> \param s1 ...
192!> \param s2 ...
193!> \param s3 ...
194!> \param s4 ...
195!> \return ...
196! **************************************************************************************************
197 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4
202 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
218 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6
235 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
253 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
272 a(8) = s8
273 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
293 a(8) = s8; a(9) = s9
294 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
315 a(8) = s8; a(9) = s9; a(10) = s10
316 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
339 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11
340 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
364 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12
365 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
390 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13
391 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
417 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
418 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
445 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
446 a(15) = s15
447 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 PURE FUNCTION s2a_16(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
470 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
476 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
477 a(15) = s15; a(16) = s16
478 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 PURE FUNCTION s2a_17(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
502 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
508 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
509 a(15) = s15; a(16) = s16; a(17) = s17
510 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 PURE FUNCTION s2a_18(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
535 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
541 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
542 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18
543 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 PURE FUNCTION s2a_19(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
569 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
576 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
577 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19
578 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 PURE FUNCTION s2a_20(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
605 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
612 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
613 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
614 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 PURE FUNCTION s2a_21(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
642 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
649 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
650 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
651 a(21) = s21
652 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 PURE FUNCTION s2a_22(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
681 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
688 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
689 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
690 a(21) = s21; a(22) = s22
691 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 PURE FUNCTION s2a_23(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
721 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
728 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
729 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
730 a(21) = s21; a(22) = s22; a(23) = s23
731 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 PURE FUNCTION s2a_24(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
762 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
769 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
770 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
771 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24
772 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 PURE FUNCTION s2a_25(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
804 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
811 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
812 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
813 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
814 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 PURE FUNCTION s2a_26(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
847 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
855 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
856 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
857 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
858 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 PURE FUNCTION s2a_27(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
892 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
900 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
901 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
902 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
903 a(27) = s27
904 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 PURE FUNCTION s2a_28(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
939 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
947 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
948 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
949 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
950 a(27) = s27; a(28) = s28
951 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 PURE FUNCTION s2a_29(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
987 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
995 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
996 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
997 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
998 a(27) = s27; a(28) = s28; a(29) = s29
999 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 PURE FUNCTION s2a_30(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1036 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1044 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1045 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1046 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1047 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1048 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 PURE FUNCTION s2a_31(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1086 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1094 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1095 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1096 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1097 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31
1098 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 PURE FUNCTION s2a_32(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, &
1137 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1145 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1146 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1147 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1148 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1149 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1199 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1200 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1201 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1202 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1203 a(33) = s33
1204 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1255 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1256 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1257 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1258 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1259 a(33) = s33; a(34) = s34
1260 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1312 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1313 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1314 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1315 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1316 a(33) = s33; a(34) = s34; a(35) = s35
1317 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1368 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1369 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1370 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1371 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1372 a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36
1373 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1425 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1426 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1427 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1428 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1429 a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37
1430 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1483 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1484 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1485 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1486 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1487 a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37; a(38) = s38
1488 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5; a(6) = s6; a(7) = s7
1542 a(8) = s8; a(9) = s9; a(10) = s10; a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14
1543 a(15) = s15; a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1544 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25; a(26) = s26
1545 a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30; a(31) = s31; a(32) = s32
1546 a(33) = s33; a(34) = s34; a(35) = s35; a(36) = s36; a(37) = s37; a(38) = s38
1547 a(39) = s39
1548 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1603 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1604 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1605 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1606 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1607 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1608 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1609 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1610 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1667 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1668 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1669 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1670 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1671 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1672 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1673 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1674 a(41) = s41
1675 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1733 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1734 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1735 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1736 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1737 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1738 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1739 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1740 a(41) = s41; a(42) = s42
1741 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1800 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1801 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1802 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1803 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1804 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1805 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1806 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1807 a(41) = s41; a(42) = s42; a(43) = s43
1808 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1868 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1869 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1870 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1871 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1872 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1873 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1874 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1875 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44
1876 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
1937 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
1938 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
1939 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
1940 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
1941 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
1942 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
1943 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
1944 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
1945 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2007 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2008 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2009 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2010 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2011 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2012 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2013 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2014 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2015 a(46) = s46
2016 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2079 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2080 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2081 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2082 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2083 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2084 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2085 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2086 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2087 a(46) = s46; a(47) = s47
2088 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2152 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2153 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2154 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2155 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2156 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2157 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2158 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2159 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2160 a(46) = s46; a(47) = s47; a(48) = s48
2161 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2226 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2227 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2228 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2229 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2230 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2231 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2232 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2233 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2234 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49
2235 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2301 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2302 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2303 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2304 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2305 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2306 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2307 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2308 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2309 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2310 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2379 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2380 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2381 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2382 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2383 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2384 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2385 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2386 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2387 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2388 a(51) = s51
2389 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2459 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2460 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2461 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2462 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2463 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2464 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2465 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2466 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2467 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2468 a(51) = s51; a(52) = s52
2469 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2540 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2541 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2542 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2543 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2544 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2545 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2546 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2547 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2548 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2549 a(51) = s51; a(52) = s52; a(53) = s53
2550 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2622 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2623 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2624 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2625 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2626 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2627 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2628 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2629 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2630 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2631 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54
2632 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2705 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2706 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2707 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2708 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2709 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2710 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2711 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2712 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2713 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2714 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2715 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2789 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2790 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2791 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2792 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2793 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2794 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2795 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2796 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2797 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2798 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2799 a(56) = s56
2800 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2875 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2876 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2877 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2878 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2879 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2880 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2881 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2882 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2883 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2884 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2885 a(56) = s56; a(57) = s57
2886 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
2962 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
2963 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
2964 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
2965 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
2966 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
2967 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
2968 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
2969 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
2970 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
2971 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
2972 a(56) = s56; a(57) = s57; a(58) = s58
2973 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
3050 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
3051 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
3052 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
3053 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
3054 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
3055 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
3056 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
3057 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
3058 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
3059 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
3060 a(56) = s56; a(57) = s57; a(58) = s58; a(59) = s59
3061 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 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 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 a(1) = s1; a(2) = s2; a(3) = s3; a(4) = s4; a(5) = s5
3139 a(6) = s6; a(7) = s7; a(8) = s8; a(9) = s9; a(10) = s10
3140 a(11) = s11; a(12) = s12; a(13) = s13; a(14) = s14; a(15) = s15
3141 a(16) = s16; a(17) = s17; a(18) = s18; a(19) = s19; a(20) = s20
3142 a(21) = s21; a(22) = s22; a(23) = s23; a(24) = s24; a(25) = s25
3143 a(26) = s26; a(27) = s27; a(28) = s28; a(29) = s29; a(30) = s30
3144 a(31) = s31; a(32) = s32; a(33) = s33; a(34) = s34; a(35) = s35
3145 a(36) = s36; a(37) = s37; a(38) = s38; a(39) = s39; a(40) = s40
3146 a(41) = s41; a(42) = s42; a(43) = s43; a(44) = s44; a(45) = s45
3147 a(46) = s46; a(47) = s47; a(48) = s48; a(49) = s49; a(50) = s50
3148 a(51) = s51; a(52) = s52; a(53) = s53; a(54) = s54; a(55) = s55
3149 a(56) = s56; a(57) = s57; a(58) = s58; a(59) = s59; a(60) = s60
3150 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 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 string = ""
3169
3170 DO i = 1, min(len(string), SIZE(nascii))
3171 IF ((nascii(i) >= 0) .AND. (nascii(i) <= 127)) THEN
3172 string(i:i) = char(nascii(i))
3173 ELSE
3174 string(i:i) = " "
3175 END IF
3176 END DO
3177
3178 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 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 IF (PRESENT(full)) THEN
3199 remove_all = full
3200 ELSE
3201 remove_all = .false.
3202 END IF
3203
3204 z = 1
3205
3206 DO i = 1, len_trim(string)
3207 IF ((z == 1) .OR. remove_all) THEN
3208 IF (string(i:i) /= " ") THEN
3209 tmp = string(i:i)
3210 string(z:z) = tmp
3211 z = z + 1
3212 END IF
3213 ELSE
3214 IF ((string(i:i) /= " ") .OR. (string(z - 1:z - 1) /= " ")) THEN
3215 tmp = string(i:i)
3216 string(z:z) = tmp
3217 z = z + 1
3218 END IF
3219 END IF
3220 END DO
3221
3222 string(z:) = ""
3223
3224 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 SUBROUTINE integer_to_string(inumber, string)
3238
3239 INTEGER, INTENT(IN) :: inumber
3240 CHARACTER(LEN=*), INTENT(OUT) :: string
3241
3242 WRITE (unit=string, fmt='(I0)') inumber
3243 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 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 nascii(:) = 0
3261
3262 DO i = 1, min(len(string), SIZE(nascii))
3263 nascii(i) = ichar(string(i:i))
3264 END DO
3265
3266 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 SUBROUTINE remove_word(string)
3274 CHARACTER(LEN=*), INTENT(INOUT) :: string
3275
3276 INTEGER :: i
3277
3278 i = 1
3279 ! possibly clean white spaces
3280 DO WHILE (string(i:i) == " ")
3281 i = i + 1
3282 END DO
3283 ! now remove the word
3284 DO WHILE (string(i:i) /= " ")
3285 i = i + 1
3286 END DO
3287 string = string(i:)
3288
3289 END SUBROUTINE remove_word
3290
3291! **************************************************************************************************
3292!> \brief Substitutes the five predefined XML entities: &amp;, &lt;, &gt;, &apos;, and &quot;.
3293!> \param inp_string ...
3294!> \return ...
3295!> !> \author Ole Schuett
3296! **************************************************************************************************
3297 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 out_string = ""
3305
3306 j = 1
3307 DO i = 1, len_trim(inp_string)
3308 SELECT CASE (inp_string(i:i))
3309 CASE ("<")
3310 out_string(j:j + 3) = "&lt;"
3311 j = j + 4
3312 CASE (">")
3313 out_string(j:j + 3) = "&gt;"
3314 j = j + 4
3315 CASE ("&")
3316 out_string(j:j + 4) = "&amp;"
3317 j = j + 5
3318 CASE ("'")
3319 out_string(j:j + 5) = "&apos;"
3320 j = j + 6
3321 CASE ('"')
3322 out_string(j:j + 5) = "&quot;"
3323 j = j + 6
3324 CASE DEFAULT
3325 out_string(j:j) = inp_string(i:i)
3326 j = j + 1
3327 END SELECT
3328 END DO
3329
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 ELEMENTAL SUBROUTINE lowercase(string)
3340 CHARACTER(LEN=*), INTENT(INOUT) :: string
3341
3342 INTEGER :: i, iascii
3343
3344 DO i = 1, len_trim(string)
3345 iascii = ichar(string(i:i))
3346 IF ((iascii >= 65) .AND. (iascii <= 90)) THEN
3347 string(i:i) = char(iascii + 32)
3348 END IF
3349 END DO
3350
3351 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 ELEMENTAL SUBROUTINE uppercase(string)
3361 CHARACTER(LEN=*), INTENT(INOUT) :: string
3362
3363 INTEGER :: i, iascii
3364
3365 DO i = 1, len_trim(string)
3366 iascii = ichar(string(i:i))
3367 IF ((iascii >= 97) .AND. (iascii <= 122)) THEN
3368 string(i:i) = char(iascii - 32)
3369 END IF
3370 END DO
3371
3372 END SUBROUTINE uppercase
3373
3374! **************************************************************************************************
3375!> \brief ...
3376!> \param string ...
3377!> \param ia ...
3378!> \param ib ...
3379! **************************************************************************************************
3380 ELEMENTAL SUBROUTINE xstring(string, ia, ib)
3381
3382 CHARACTER(LEN=*), INTENT(IN) :: string
3383 INTEGER, INTENT(OUT) :: ia, ib
3384
3385 ia = 1
3386 ib = len_trim(string)
3387 IF (ib > 0) THEN
3388 DO WHILE (string(ia:ia) == ' ')
3389 ia = ia + 1
3390 END DO
3391 END IF
3392
3393 END SUBROUTINE xstring
3394
3395! **************************************************************************************************
3396!> \brief ...
3397!> \param str1 ...
3398!> \param str2 ...
3399!> \return ...
3400! **************************************************************************************************
3401 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 i1 = 0
3409 i2 = 0
3410 j1 = 0
3411 j2 = 0
3412 CALL xstring(str1, i1, i2)
3413 CALL xstring(str2, j1, j2)
3414 equal = (str1(i1:i2) == str2(j1:j2))
3415 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 ELEMENTAL FUNCTION is_whitespace(testchar) RESULT(resval)
3425 CHARACTER(LEN=1), INTENT(IN) :: testchar
3426 LOGICAL :: resval
3427
3428 resval = .false.
3429 IF (any(default_blank_character == testchar)) resval = .true.
3430 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 ELEMENTAL SUBROUTINE strip_control_codes(string)
3440
3441 CHARACTER(LEN=*), INTENT(INOUT) :: string
3442
3443 INTEGER :: i, iascii
3444
3445 DO i = 1, len(string)
3446 iascii = ichar(string(i:i))
3447 IF ((iascii < 32) .OR. (iascii > 126)) string(i:i) = " "
3448 END DO
3449
3450 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 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 DO nchar = 1, len(fstring)
3468 IF (cstring(nchar) == c_null_char) EXIT
3469 fstring(nchar:nchar) = cstring(nchar)
3470 END DO
3471
3472 nchar = nchar - 1
3473 END FUNCTION strlcpy_c2f
3474
3475END MODULE string_utilities
Defines the basic variable types.
Definition kinds.F:23
character(len=1), dimension(2), parameter, public default_blank_character
Definition kinds.F:60
Utilities for string manipulations.
integer function, public strlcpy_c2f(fstring, cstring)
Copy the content of a \0-terminated C-string to a finite-length Fortran string.
subroutine, public integer_to_string(inumber, string)
Converts an integer number to a string. The WRITE statement will return an error message,...
subroutine, public compress(string, full)
Eliminate multiple space characters in a string. If full is .TRUE., then all spaces are eliminated.
character(len=1), parameter, public newline
elemental integer function, public typo_match(string, typo_string)
returns a non-zero positive value if typo_string equals string apart from a few typos....
pure character(len=size(array)) function, public a2s(array)
Converts a character-array into a string.
elemental subroutine, public strip_control_codes(string)
Strip control codes and extended characters from a string, i.e. replace them with blanks.
subroutine, public string_to_ascii(string, nascii)
Convert a string to sequence of integer numbers.
character(len=2 *len(inp_string)) function, public substitute_special_xml_tokens(inp_string)
Substitutes the five predefined XML entities: &, <, >, ', and ".
elemental logical function, public is_whitespace(testchar)
returns .true. if the character passed is a whitespace char.
subroutine, public remove_word(string)
remove a word from a string (words are separated by white spaces)
subroutine, public ascii_to_string(nascii, string)
Convert a sequence of integer numbers (ASCII code) to a string. Blanks are inserted for invalid ASCII...
elemental subroutine, public xstring(string, ia, ib)
...
elemental logical function, public str_comp(str1, str2)
...
elemental subroutine, public uppercase(string)
Convert all lower case characters in a string to upper case.