diff options
Diffstat (limited to 'gsl-1.9/sort/sortvec.c')
-rw-r--r-- | gsl-1.9/sort/sortvec.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/gsl-1.9/sort/sortvec.c b/gsl-1.9/sort/sortvec.c new file mode 100644 index 0000000..e949c71 --- /dev/null +++ b/gsl-1.9/sort/sortvec.c @@ -0,0 +1,90 @@ +/* + * Implement Heap sort -- direct and indirect sorting + * Based on descriptions in Sedgewick "Algorithms in C" + * + * Copyright (C) 1999 Thomas Walter + * + * 18 February 2000: Modified for GSL by Brian Gough + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * This source is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#include <config.h> +#include <gsl/gsl_errno.h> +#include <gsl/gsl_vector.h> +#include <gsl/gsl_sort.h> +#include <gsl/gsl_sort_vector.h> + +#define BASE_LONG_DOUBLE +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_LONG_DOUBLE + +#define BASE_DOUBLE +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_DOUBLE + +#define BASE_FLOAT +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_FLOAT + +#define BASE_ULONG +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_ULONG + +#define BASE_LONG +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_LONG + +#define BASE_UINT +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_UINT + +#define BASE_INT +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_INT + +#define BASE_USHORT +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_USHORT + +#define BASE_SHORT +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_SHORT + +#define BASE_UCHAR +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_UCHAR + +#define BASE_CHAR +#include "templates_on.h" +#include "sortvec_source.c" +#include "templates_off.h" +#undef BASE_CHAR |