33 #include <lal/LALStdlib.h>
37 int XLALInsertionSort(
void *base,
size_t nobj,
size_t size,
void *params,
int (*compar)(
void *,
const void *,
const void *))
40 char *
end = (
char *) base + nobj * size;
51 for(i = (
char *) base + size; i <
end; i += size) {
54 for(j = i; j > (
char *) base && compar(params, j - size, i) > 0; j -= size);
57 memcpy(temp, i, size);
58 memmove(j + size, j, len);
59 memcpy(j, temp, size);
int XLALInsertionSort(void *base, size_t nobj, size_t size, void *params, int(*compar)(void *, const void *, const void *))
#define XLAL_ERROR(...)
Macro to invoke a failure from a XLAL routine returning an integer.
@ XLAL_ENOMEM
Memory allocation error.