@@ -16,6 +16,11 @@ subroutine test_append_prepend_string
16
16
integer , parameter :: first = - 100
17
17
integer , parameter :: last = 100
18
18
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
19
24
20
25
do i = first, last
21
26
string = to_string(i)
@@ -26,10 +31,10 @@ subroutine test_append_prepend_string
26
31
end do
27
32
28
33
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 , &
30
35
& " test_append_prepend_string: work_list ==&
31
36
& [ ( 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, &
33
38
& " test_append_prepend_string: [ ( string_type( to_string(i) ),&
34
39
& i = first, last ) ] == work_list" )
35
40
@@ -47,9 +52,9 @@ subroutine test_append_prepend_string
47
52
end do
48
53
49
54
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:&
51
56
& 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, &
53
58
& " test_append_prepend_string: [ ( string_type( to_string(i) ), i = first, last ) ] == reference_list" )
54
59
55
60
call check( work_list == reference_list, " test_append_prepend_string:&
@@ -66,10 +71,15 @@ subroutine test_append_prepend_array
66
71
integer , parameter :: first = - 100
67
72
integer , parameter :: last = 100
68
73
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
69
79
70
80
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 ) , &
73
83
& " test_append_prepend_array: work_list ==&
74
84
& [ ( string_type( to_string(j) ), j = first, i + stride - 1) ]" )
75
85
@@ -78,10 +88,10 @@ subroutine test_append_prepend_array
78
88
work_list = work_list // to_string(last)
79
89
80
90
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 , &
82
92
& " test_append_prepend_array: work_list ==&
83
93
& [ ( 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, &
85
95
& " test_append_prepend_array: [ ( string_type( to_string(i) ), i = first, last) ]&
86
96
& == work_list" )
87
97
@@ -91,8 +101,7 @@ subroutine test_append_prepend_array
91
101
call check( reference_list /= work_list, " test_append_prepend_array:&
92
102
& reference_list /= work_list" )
93
103
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
96
105
call check( reference_list == &
97
106
& [ ( string_type( to_string(j) ), j = i - stride + 1 , last ) ], &
98
107
& " test_append_prepend_array: reference_list ==&
@@ -103,10 +112,10 @@ subroutine test_append_prepend_array
103
112
reference_list = to_string(first) // reference_list
104
113
105
114
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, &
107
116
& " test_append_prepend_array:&
108
117
& [ ( 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, &
110
119
& " test_append_prepend_array: [ ( string_type( to_string(i) ), i = first, last) ]&
111
120
& == reference_list" )
112
121
@@ -124,6 +133,11 @@ subroutine test_append_prepend_list
124
133
integer , parameter :: first = - 100
125
134
integer , parameter :: last = 100
126
135
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
127
141
128
142
do i = first, last - 1 , stride
129
143
call temp_list% clear()
@@ -132,7 +146,7 @@ subroutine test_append_prepend_list
132
146
end do
133
147
work_list = work_list // temp_list
134
148
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 ) , &
136
150
& " test_append_prepend_list: work_list ==&
137
151
& [ ( to_string(j), j = first, i + stride - 1) ]" )
138
152
@@ -141,9 +155,9 @@ subroutine test_append_prepend_list
141
155
work_list = work_list // to_string(last)
142
156
143
157
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:&
145
159
& 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, &
147
161
& " test_append_prepend_list: [ ( string_type( to_string(i) ), i = first, last) ]&
148
162
& == work_list" )
149
163
@@ -160,7 +174,7 @@ subroutine test_append_prepend_list
160
174
reference_list = temp_list // reference_list
161
175
162
176
call check( reference_list == &
163
- & [ ( string_type( to_string(j) ), j = i - stride + 1 , last ) ] , &
177
+ & all_strings(i - stride+1 : last) , &
164
178
& " test_append_prepend_list: reference_list ==&
165
179
& [ ( string_type( to_string(j) ), j = i - stride + 1, last ) ]" )
166
180
@@ -169,10 +183,10 @@ subroutine test_append_prepend_list
169
183
reference_list = to_string(first) // reference_list
170
184
171
185
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, &
173
187
& " test_append_prepend_list:&
174
188
& [ ( 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, &
176
190
& " test_append_prepend_list: [ ( string_type( to_string(i) ), i = first, last) ]&
177
191
& == reference_list" )
178
192
0 commit comments