/****Copyright (c) 2002-2009 All rights reserved
 ****A. V. Gerbessiotis 
 ****Permission to use, copy, modify, and distribute this software,
 ****and to incorporate it, in whole or in part, into 
 ****other software,is hereby granted without fee, provided that
 ****  (1) the above copyright notice and this permission 
 ****      notice appear in all copies of the source code, and 
 ****      the above copyright notice appear in clearly visible 
 ****      form on all supporting documentation and distribution 
 ****      media, and
 ****     (2) any redistribution of the software, in original
 ****         or modified form, be without fee and subject to
 ****         these same conditions.
 ****   No guarantee, whatsoever, is offered that the code works as
 ****   advertised or is absent of any, even damaging,
 ****   side-effects. Use this code at your own personal risk.
 ****/

/* Sequential Improved Deterministic Sorting */
#undef DUPLICATE
#define DUPLICATE

#define LEFT(x,y)       (x-(x/y)*y)

int dsort(void *, int , int , char *, int ,
void (*)(void *, int ,int, int (*)(const void *, const void *)),
int (*)(const void *, const void *),int ,int);
