1 /* sort/gsl_sort_double.h 2 * 3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, Brian Gough 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 3 of the License, or (at 8 * your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef __GSL_SORT_DOUBLE_H__ 21 #define __GSL_SORT_DOUBLE_H__ 22 23 #include <stdlib.h> 24 #include "gsl_errno.h" 25 #include "gsl_permutation.h" 26 27 #undef __BEGIN_DECLS 28 #undef __END_DECLS 29 #ifdef __cplusplus 30 # define __BEGIN_DECLS extern "C" { 31 # define __END_DECLS } 32 #else 33 # define __BEGIN_DECLS /* empty */ 34 # define __END_DECLS /* empty */ 35 #endif 36 37 __BEGIN_DECLS 38 39 void gsl_sort (double * data, const size_t stride, const size_t n); 40 void gsl_sort_index (size_t * p, const double * data, const size_t stride, const size_t n); 41 42 int gsl_sort_smallest (double * dest, const size_t k, const double * src, const size_t stride, const size_t n); 43 int gsl_sort_smallest_index (size_t * p, const size_t k, const double * src, const size_t stride, const size_t n); 44 45 int gsl_sort_largest (double * dest, const size_t k, const double * src, const size_t stride, const size_t n); 46 int gsl_sort_largest_index (size_t * p, const size_t k, const double * src, const size_t stride, const size_t n); 47 48 __END_DECLS 49 50 #endif /* __GSL_SORT_DOUBLE_H__ */ 51