Unverified Commit fb4df86d authored by Axel Kohlmeyer's avatar Axel Kohlmeyer Committed by GitHub
Browse files

Merge pull request #1170 from akohlmey/fix-merge-sort

Bug fix for merge sort by Jeffrey Frey
parents 21661f84 da38ae03
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -46,13 +46,6 @@
#define PRId64 "ld"
#endif

// favor qsort over mergesort for stable release
// TODO: to be removed after stable release

#ifndef LMP_QSORT
#define LMP_QSORT
#endif

namespace LAMMPS_NS {

// enum used for KOKKOS host/device flags
+5 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ static void merge_sort(int *index, int num, void *ptr,

    int *tmp = dest; dest = hold; hold = tmp;

    // merge from hold array to destiation array
    // merge from hold array to destination array

    for (i=0; i < num-1; i += 2*chunk) {
      j = i + 2*chunk;
@@ -107,6 +107,10 @@ static void merge_sort(int *index, int num, void *ptr,
      if (m > num) m=num;
      do_merge(dest,hold,i,m,m,j,ptr,comp);
    }

    // copy all indices not handled by the chunked merge sort loop

    for ( ; i < num ; i++ ) dest[i] = hold[i];
    chunk *= 2;
  }