Scortch/sort.c
///	Merge sort that operates on many runs at a time, starting with natural ascending or descending runs
Merge sort that operates on many runs at a time, starting with natural ascending or descending runs
Merge sort that operates on many runs at a time starting with natural ascending or descending runs
void tumbleMergeSort(void *array, void *buffer, size_t count, size_t size, struct SortingStatistics *statistics, Compare compare, void *context) {
	if ( count < 16 ) {
		binaryInsertionSort(array, count, size, 1, buffer, statistics, compare, context);
		return;
	}
	tumbleMergeSeek(array, buffer, count, size, count, 0, statistics, compare, context);
}
void tumbleMergeSort ( void * array , void * buffer , size_t count , size_t size , struct SortingStatistics * statistics , Compare compare , void * context ) { if ( count < 16 ) { binaryInsertionSort ( array , count , size , 1 , buffer , statistics , compare , context ) ; return ; } tumbleMergeSeek ( array , buffer , count , size , count , 0 , statistics , compare , context ) ; }
Merge sort that operates on many runs at a time, starting with natural ascending or descending runs
Merge sort that operates on many runs at a time starting with natural ascending or descending runs