@@ -16,6 +16,11 @@ subroutine test_append_prepend_string
1616 integer , parameter :: first = - 100
1717 integer , parameter :: last = 100
1818 character (len= :), allocatable :: string
19+ type (string_type) :: all_strings(first:last)
20+
21+ do concurrent (i= first:last)
22+ all_strings(i) = string_type( to_string(i) )
23+ end do
1924
2025 do i = first, last
2126 string = to_string(i)
@@ -26,10 +31,10 @@ subroutine test_append_prepend_string
2631 end do
2732
2833 call compare_list( work_list, first, last + 1 , 1 )
29- call check( work_list == [ ( string_type( to_string(i) ), i = first, last ) ] , &
34+ call check( work_list == all_strings , &
3035 & " test_append_prepend_string: work_list ==&
3136 & [ ( string_type( to_string(i) ), i = first, last ) ]" )
32- call check( [ ( string_type( to_string(i) ), i = first, last ) ] == work_list, &
37+ call check( all_strings == work_list, &
3338 & " test_append_prepend_string: [ ( string_type( to_string(i) ),&
3439 & i = first, last ) ] == work_list" )
3540
@@ -47,9 +52,9 @@ subroutine test_append_prepend_string
4752 end do
4853
4954 call compare_list( reference_list, first, last + 1 , 2 )
50- call check( reference_list == [ ( string_type( to_string(i) ), i = first, last ) ] , " test_append_prepend_string:&
55+ call check( reference_list == all_strings , " test_append_prepend_string:&
5156 & reference_list == [ ( string_type( to_string(i) ), i = first, last ) ]" )
52- call check( [ ( string_type( to_string(i) ), i = first, last ) ] == reference_list, &
57+ call check( all_strings == reference_list, &
5358 & " test_append_prepend_string: [ ( string_type( to_string(i) ), i = first, last ) ] == reference_list" )
5459
5560 call check( work_list == reference_list, " test_append_prepend_string:&
@@ -66,10 +71,15 @@ subroutine test_append_prepend_array
6671 integer , parameter :: first = - 100
6772 integer , parameter :: last = 100
6873 integer , parameter :: stride = 10
74+ type (string_type) :: all_strings(first:last)
75+
76+ do concurrent (j= first:last)
77+ all_strings(j) = string_type( to_string(j) )
78+ end do
6979
7080 do i = first, last - 1 , stride
71- work_list = work_list // [ ( string_type( to_string(j) ), j = i, i + stride - 1 ) ]
72- call check( work_list == [ ( string_type( to_string(j) ), j = first, i + stride - 1 ) ] , &
81+ work_list = work_list // all_strings(i:i + stride-1 )
82+ call check( work_list == all_strings( first:i + stride-1 ) , &
7383 & " test_append_prepend_array: work_list ==&
7484 & [ ( string_type( to_string(j) ), j = first, i + stride - 1) ]" )
7585
@@ -78,10 +88,10 @@ subroutine test_append_prepend_array
7888 work_list = work_list // to_string(last)
7989
8090 call compare_list( work_list, first, last + 1 , 3 )
81- call check( work_list == [ ( string_type( to_string(i) ), i = first, last) ] , &
91+ call check( work_list == all_strings , &
8292 & " test_append_prepend_array: work_list ==&
8393 & [ ( string_type( to_string(i) ), i = first, last) ]" )
84- call check( [ ( string_type( to_string(i) ), i = first, last) ] == work_list, &
94+ call check( all_strings == work_list, &
8595 & " test_append_prepend_array: [ ( string_type( to_string(i) ), i = first, last) ]&
8696 & == work_list" )
8797
@@ -91,8 +101,7 @@ subroutine test_append_prepend_array
91101 call check( reference_list /= work_list, " test_append_prepend_array:&
92102 & reference_list /= work_list" )
93103
94- reference_list = [ ( string_type( to_string(j) ), j = i - stride + 1 , i ) ] &
95- & // reference_list
104+ reference_list = all_strings(i- stride+1 :i) // reference_list
96105 call check( reference_list == &
97106 & [ ( string_type( to_string(j) ), j = i - stride + 1 , last ) ], &
98107 & " test_append_prepend_array: reference_list ==&
@@ -103,10 +112,10 @@ subroutine test_append_prepend_array
103112 reference_list = to_string(first) // reference_list
104113
105114 call compare_list( reference_list, first, last + 1 , 4 )
106- call check( [ ( string_type( to_string(i) ), i = first, last) ] == reference_list, &
115+ call check( all_strings == reference_list, &
107116 & " test_append_prepend_array:&
108117 & [ ( string_type( to_string(i) ), i = first, last) ] == reference_list" )
109- call check( [ ( string_type( to_string(i) ), i = first, last) ] == reference_list, &
118+ call check( all_strings == reference_list, &
110119 & " test_append_prepend_array: [ ( string_type( to_string(i) ), i = first, last) ]&
111120 & == reference_list" )
112121
@@ -124,6 +133,11 @@ subroutine test_append_prepend_list
124133 integer , parameter :: first = - 100
125134 integer , parameter :: last = 100
126135 integer , parameter :: stride = 10
136+ type (string_type) :: all_strings(first:last)
137+
138+ do concurrent (j= first:last)
139+ all_strings(j) = string_type( to_string(j) )
140+ end do
127141
128142 do i = first, last - 1 , stride
129143 call temp_list% clear()
@@ -132,7 +146,7 @@ subroutine test_append_prepend_list
132146 end do
133147 work_list = work_list // temp_list
134148
135- call check( work_list == [ ( string_type( to_string(j) ), j = first, i + stride - 1 ) ] , &
149+ call check( work_list == all_strings( first:i + stride-1 ) , &
136150 & " test_append_prepend_list: work_list ==&
137151 & [ ( to_string(j), j = first, i + stride - 1) ]" )
138152
@@ -141,9 +155,9 @@ subroutine test_append_prepend_list
141155 work_list = work_list // to_string(last)
142156
143157 call compare_list( work_list, first, last + 1 , 5 )
144- call check( work_list == [ ( string_type( to_string(i) ), i = first, last) ] , " test_append_prepend_list:&
158+ call check( work_list == all_strings , " test_append_prepend_list:&
145159 & work_list == [ ( string_type( to_string(i) ), i = first, last) ]" )
146- call check( [ ( string_type( to_string(i) ), i = first, last) ] == work_list, &
160+ call check( all_strings == work_list, &
147161 & " test_append_prepend_list: [ ( string_type( to_string(i) ), i = first, last) ]&
148162 & == work_list" )
149163
@@ -160,7 +174,7 @@ subroutine test_append_prepend_list
160174 reference_list = temp_list // reference_list
161175
162176 call check( reference_list == &
163- & [ ( string_type( to_string(j) ), j = i - stride + 1 , last ) ] , &
177+ & all_strings(i - stride+1 : last) , &
164178 & " test_append_prepend_list: reference_list ==&
165179 & [ ( string_type( to_string(j) ), j = i - stride + 1, last ) ]" )
166180
@@ -169,10 +183,10 @@ subroutine test_append_prepend_list
169183 reference_list = to_string(first) // reference_list
170184
171185 call compare_list( reference_list, first, last + 1 , 6 )
172- call check( [ ( string_type( to_string(i) ), i = first, last) ] == reference_list, &
186+ call check( all_strings == reference_list, &
173187 & " test_append_prepend_list:&
174188 & [ ( string_type( to_string(i) ), i = first, last) ] == reference_list" )
175- call check( [ ( string_type( to_string(i) ), i = first, last) ] == reference_list, &
189+ call check( all_strings == reference_list, &
176190 & " test_append_prepend_list: [ ( string_type( to_string(i) ), i = first, last) ]&
177191 & == reference_list" )
178192
0 commit comments