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