@@ -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,6 +204,13 @@ subroutine test_int_ord_sorts( ltest )
202204 call test_int_ord_sort( rand10, " Random 10" , ldummy )
203205 ltest = (ltest .and. ldummy)
204206
207+ ! triggered an issue in insertion_sort
208+ d1 = [10 , 2 , - 3 , - 4 , 6 , - 6 , 7 , - 8 , 9 , 0 , 1 , 20 ]
209+ call ord_sort( d1 )
210+ call verify_sort( d1, ldummy, i )
211+ ltest = (ltest .and. ldummy)
212+
213+
205214 end subroutine test_int_ord_sorts
206215
207216
@@ -418,7 +427,9 @@ end subroutine test_string_ord_sort
418427 subroutine test_int_sorts ( ltest )
419428 logical , intent (out ) :: ltest
420429
421- logical :: ldummy
430+ integer (int64) :: i
431+ integer , allocatable :: d1(:)
432+ logical :: ldummy
422433
423434 ltest = .true.
424435
@@ -441,6 +452,12 @@ subroutine test_int_sorts( ltest )
441452 call test_int_sort( rand10, " Random 10" , ldummy )
442453 ltest = (ltest .and. ldummy)
443454
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+
444461 end subroutine test_int_sorts
445462
446463 subroutine test_int_sort ( a , a_name , ltest )
@@ -623,7 +640,10 @@ end subroutine test_string_sort
623640 subroutine test_int_sort_indexes ( ltest )
624641 logical , intent (out ) :: ltest
625642
626- logical :: ldummy
643+ integer (int64) :: i
644+ integer (int32), allocatable :: d1(:)
645+ integer (int64), allocatable :: index (:)
646+ logical :: ldummy
627647
628648 ltest = .true.
629649
@@ -646,6 +666,12 @@ subroutine test_int_sort_indexes( ltest )
646666 call test_int_sort_index( rand10, " Random 10" , ldummy )
647667 ltest = (ltest .and. ldummy)
648668
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+
649675 end subroutine test_int_sort_indexes
650676
651677 subroutine test_int_sort_index ( a , a_name , ltest )
0 commit comments