@@ -179,7 +179,9 @@ program test_sorting
179179 subroutine test_int_ord_sorts ( ltest )
180180 logical , intent (out ) :: ltest
181181
182- logical :: ldummy
182+ integer (int64) :: i
183+ integer , allocatable :: d1(:)
184+ logical :: ldummy
183185
184186 ltest = .true.
185187
@@ -202,15 +204,11 @@ subroutine test_int_ord_sorts( ltest )
202204 call test_int_ord_sort( rand10, " Random 10" , ldummy )
203205 ltest = (ltest .and. ldummy)
204206
205-
206- block
207- integer (int64) :: i
208- integer , allocatable :: d1(:)
207+ ! triggered an issue in insertion_sort
209208 d1 = [10 , 2 , - 3 , - 4 , 6 , - 6 , 7 , - 8 , 9 , 0 , 1 , 20 ]
210- call ord_sort( d1)
209+ call ord_sort( d1 )
211210 call verify_sort( d1, ldummy, i )
212211 ltest = (ltest .and. ldummy)
213- end block
214212
215213
216214 end subroutine test_int_ord_sorts
@@ -429,7 +427,9 @@ end subroutine test_string_ord_sort
429427 subroutine test_int_sorts ( ltest )
430428 logical , intent (out ) :: ltest
431429
432- logical :: ldummy
430+ integer (int64) :: i
431+ integer , allocatable :: d1(:)
432+ logical :: ldummy
433433
434434 ltest = .true.
435435
@@ -452,6 +452,12 @@ subroutine test_int_sorts( ltest )
452452 call test_int_sort( rand10, " Random 10" , ldummy )
453453 ltest = (ltest .and. ldummy)
454454
455+ ! triggered an issue in insertion
456+ d1 = [10 , 2 , - 3 , - 4 , 6 , - 6 , 7 , - 8 , 9 , 0 , 1 , 20 ]
457+ call sort( d1 )
458+ call verify_sort( d1, ldummy, i )
459+ ltest = (ltest .and. ldummy)
460+
455461 end subroutine test_int_sorts
456462
457463 subroutine test_int_sort ( a , a_name , ltest )
@@ -634,7 +640,10 @@ end subroutine test_string_sort
634640 subroutine test_int_sort_indexes ( ltest )
635641 logical , intent (out ) :: ltest
636642
637- logical :: ldummy
643+ integer (int64) :: i
644+ integer (int32), allocatable :: d1(:)
645+ integer (int64), allocatable :: index (:)
646+ logical :: ldummy
638647
639648 ltest = .true.
640649
@@ -657,6 +666,12 @@ subroutine test_int_sort_indexes( ltest )
657666 call test_int_sort_index( rand10, " Random 10" , ldummy )
658667 ltest = (ltest .and. ldummy)
659668
669+ d1 = [10 , 2 , - 3 , - 4 , 6 , - 6 , 7 , - 8 , 9 , 0 , 1 , 20 ]
670+ allocate ( index (size (d1)) )
671+ call sort_index( d1, index )
672+ call verify_sort( d1, ldummy, i )
673+ ltest = (ltest .and. ldummy)
674+
660675 end subroutine test_int_sort_indexes
661676
662677 subroutine test_int_sort_index ( a , a_name , ltest )
0 commit comments