История изменений
Исправление devl547, (текущая версия) :
которая бы работала для 3 элементов быстрее, чем стандартный qsort()?
stacksort?))
Может так?
static inline void sort3_sorting_network_simple_swap(int * d){
#define min(x, y) (x<y?x:y)
#define max(x, y) (x<y?y:x)
#define SWAP(x,y) { const int a = min(d[x], d[y]); const int b = max(d[x], d[y]); d[x] = a; d[y] = b;}
SWAP(1, 2);
SWAP(0, 2);
SWAP(0, 1);
#undef SWAP
#undef min
#undef max
}
Исходная версия devl547, :
которая бы работала для 3 элементов быстрее, чем стандартный qsort()?
stacksort?))
Может так?
static inline void sort3_sorting_network_simple_swap(int * d){
#define min(x, y) (x<y?x:y)
#define max(x, y) (x<y?y:x)
#define SWAP(x,y) { const int a = min(d[x], d[y]); const int b = max(d[x], d[y]); d[x] = a; d[y] = b;}
SWAP(1, 2);
SWAP(0, 2);
SWAP(0, 1);
#undef SWAP
#undef min
#undef max
}