numpy 2.0.0
src/private/npy_sort.h
Go to the documentation of this file.
00001 #ifndef __NPY_SORT_H__
00002 #define __NPY_SORT_H__
00003 
00004 /* Python include is for future object sorts */
00005 #include <Python.h>
00006 #include <numpy/npy_common.h>
00007 #include <numpy/ndarraytypes.h>
00008 
00009 
00010 int quicksort_bool(npy_bool *vec, npy_intp cnt, void *null);
00011 int heapsort_bool(npy_bool *vec, npy_intp cnt, void *null);
00012 int mergesort_bool(npy_bool *vec, npy_intp cnt, void *null);
00013 int aquicksort_bool(npy_bool *vec, npy_intp *ind, npy_intp cnt, void *null);
00014 int aheapsort_bool(npy_bool *vec, npy_intp *ind, npy_intp cnt, void *null);
00015 int amergesort_bool(npy_bool *vec, npy_intp *ind, npy_intp cnt, void *null);
00016 
00017 
00018 int quicksort_byte(npy_byte *vec, npy_intp cnt, void *null);
00019 int heapsort_byte(npy_byte *vec, npy_intp cnt, void *null);
00020 int mergesort_byte(npy_byte *vec, npy_intp cnt, void *null);
00021 int aquicksort_byte(npy_byte *vec, npy_intp *ind, npy_intp cnt, void *null);
00022 int aheapsort_byte(npy_byte *vec, npy_intp *ind, npy_intp cnt, void *null);
00023 int amergesort_byte(npy_byte *vec, npy_intp *ind, npy_intp cnt, void *null);
00024 
00025 
00026 int quicksort_ubyte(npy_ubyte *vec, npy_intp cnt, void *null);
00027 int heapsort_ubyte(npy_ubyte *vec, npy_intp cnt, void *null);
00028 int mergesort_ubyte(npy_ubyte *vec, npy_intp cnt, void *null);
00029 int aquicksort_ubyte(npy_ubyte *vec, npy_intp *ind, npy_intp cnt, void *null);
00030 int aheapsort_ubyte(npy_ubyte *vec, npy_intp *ind, npy_intp cnt, void *null);
00031 int amergesort_ubyte(npy_ubyte *vec, npy_intp *ind, npy_intp cnt, void *null);
00032 
00033 
00034 int quicksort_short(npy_short *vec, npy_intp cnt, void *null);
00035 int heapsort_short(npy_short *vec, npy_intp cnt, void *null);
00036 int mergesort_short(npy_short *vec, npy_intp cnt, void *null);
00037 int aquicksort_short(npy_short *vec, npy_intp *ind, npy_intp cnt, void *null);
00038 int aheapsort_short(npy_short *vec, npy_intp *ind, npy_intp cnt, void *null);
00039 int amergesort_short(npy_short *vec, npy_intp *ind, npy_intp cnt, void *null);
00040 
00041 
00042 int quicksort_ushort(npy_ushort *vec, npy_intp cnt, void *null);
00043 int heapsort_ushort(npy_ushort *vec, npy_intp cnt, void *null);
00044 int mergesort_ushort(npy_ushort *vec, npy_intp cnt, void *null);
00045 int aquicksort_ushort(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00046 int aheapsort_ushort(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00047 int amergesort_ushort(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00048 
00049 
00050 int quicksort_int(npy_int *vec, npy_intp cnt, void *null);
00051 int heapsort_int(npy_int *vec, npy_intp cnt, void *null);
00052 int mergesort_int(npy_int *vec, npy_intp cnt, void *null);
00053 int aquicksort_int(npy_int *vec, npy_intp *ind, npy_intp cnt, void *null);
00054 int aheapsort_int(npy_int *vec, npy_intp *ind, npy_intp cnt, void *null);
00055 int amergesort_int(npy_int *vec, npy_intp *ind, npy_intp cnt, void *null);
00056 
00057 
00058 int quicksort_uint(npy_uint *vec, npy_intp cnt, void *null);
00059 int heapsort_uint(npy_uint *vec, npy_intp cnt, void *null);
00060 int mergesort_uint(npy_uint *vec, npy_intp cnt, void *null);
00061 int aquicksort_uint(npy_uint *vec, npy_intp *ind, npy_intp cnt, void *null);
00062 int aheapsort_uint(npy_uint *vec, npy_intp *ind, npy_intp cnt, void *null);
00063 int amergesort_uint(npy_uint *vec, npy_intp *ind, npy_intp cnt, void *null);
00064 
00065 
00066 int quicksort_long(npy_long *vec, npy_intp cnt, void *null);
00067 int heapsort_long(npy_long *vec, npy_intp cnt, void *null);
00068 int mergesort_long(npy_long *vec, npy_intp cnt, void *null);
00069 int aquicksort_long(npy_long *vec, npy_intp *ind, npy_intp cnt, void *null);
00070 int aheapsort_long(npy_long *vec, npy_intp *ind, npy_intp cnt, void *null);
00071 int amergesort_long(npy_long *vec, npy_intp *ind, npy_intp cnt, void *null);
00072 
00073 
00074 int quicksort_ulong(npy_ulong *vec, npy_intp cnt, void *null);
00075 int heapsort_ulong(npy_ulong *vec, npy_intp cnt, void *null);
00076 int mergesort_ulong(npy_ulong *vec, npy_intp cnt, void *null);
00077 int aquicksort_ulong(npy_ulong *vec, npy_intp *ind, npy_intp cnt, void *null);
00078 int aheapsort_ulong(npy_ulong *vec, npy_intp *ind, npy_intp cnt, void *null);
00079 int amergesort_ulong(npy_ulong *vec, npy_intp *ind, npy_intp cnt, void *null);
00080 
00081 
00082 int quicksort_longlong(npy_longlong *vec, npy_intp cnt, void *null);
00083 int heapsort_longlong(npy_longlong *vec, npy_intp cnt, void *null);
00084 int mergesort_longlong(npy_longlong *vec, npy_intp cnt, void *null);
00085 int aquicksort_longlong(npy_longlong *vec, npy_intp *ind, npy_intp cnt, void *null);
00086 int aheapsort_longlong(npy_longlong *vec, npy_intp *ind, npy_intp cnt, void *null);
00087 int amergesort_longlong(npy_longlong *vec, npy_intp *ind, npy_intp cnt, void *null);
00088 
00089 
00090 int quicksort_ulonglong(npy_ulonglong *vec, npy_intp cnt, void *null);
00091 int heapsort_ulonglong(npy_ulonglong *vec, npy_intp cnt, void *null);
00092 int mergesort_ulonglong(npy_ulonglong *vec, npy_intp cnt, void *null);
00093 int aquicksort_ulonglong(npy_ulonglong *vec, npy_intp *ind, npy_intp cnt, void *null);
00094 int aheapsort_ulonglong(npy_ulonglong *vec, npy_intp *ind, npy_intp cnt, void *null);
00095 int amergesort_ulonglong(npy_ulonglong *vec, npy_intp *ind, npy_intp cnt, void *null);
00096 
00097 
00098 int quicksort_half(npy_ushort *vec, npy_intp cnt, void *null);
00099 int heapsort_half(npy_ushort *vec, npy_intp cnt, void *null);
00100 int mergesort_half(npy_ushort *vec, npy_intp cnt, void *null);
00101 int aquicksort_half(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00102 int aheapsort_half(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00103 int amergesort_half(npy_ushort *vec, npy_intp *ind, npy_intp cnt, void *null);
00104 
00105 
00106 int quicksort_float(npy_float *vec, npy_intp cnt, void *null);
00107 int heapsort_float(npy_float *vec, npy_intp cnt, void *null);
00108 int mergesort_float(npy_float *vec, npy_intp cnt, void *null);
00109 int aquicksort_float(npy_float *vec, npy_intp *ind, npy_intp cnt, void *null);
00110 int aheapsort_float(npy_float *vec, npy_intp *ind, npy_intp cnt, void *null);
00111 int amergesort_float(npy_float *vec, npy_intp *ind, npy_intp cnt, void *null);
00112 
00113 
00114 int quicksort_double(npy_double *vec, npy_intp cnt, void *null);
00115 int heapsort_double(npy_double *vec, npy_intp cnt, void *null);
00116 int mergesort_double(npy_double *vec, npy_intp cnt, void *null);
00117 int aquicksort_double(npy_double *vec, npy_intp *ind, npy_intp cnt, void *null);
00118 int aheapsort_double(npy_double *vec, npy_intp *ind, npy_intp cnt, void *null);
00119 int amergesort_double(npy_double *vec, npy_intp *ind, npy_intp cnt, void *null);
00120 
00121 
00122 int quicksort_longdouble(npy_longdouble *vec, npy_intp cnt, void *null);
00123 int heapsort_longdouble(npy_longdouble *vec, npy_intp cnt, void *null);
00124 int mergesort_longdouble(npy_longdouble *vec, npy_intp cnt, void *null);
00125 int aquicksort_longdouble(npy_longdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00126 int aheapsort_longdouble(npy_longdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00127 int amergesort_longdouble(npy_longdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00128 
00129 
00130 int quicksort_cfloat(npy_cfloat *vec, npy_intp cnt, void *null);
00131 int heapsort_cfloat(npy_cfloat *vec, npy_intp cnt, void *null);
00132 int mergesort_cfloat(npy_cfloat *vec, npy_intp cnt, void *null);
00133 int aquicksort_cfloat(npy_cfloat *vec, npy_intp *ind, npy_intp cnt, void *null);
00134 int aheapsort_cfloat(npy_cfloat *vec, npy_intp *ind, npy_intp cnt, void *null);
00135 int amergesort_cfloat(npy_cfloat *vec, npy_intp *ind, npy_intp cnt, void *null);
00136 
00137 
00138 int quicksort_cdouble(npy_cdouble *vec, npy_intp cnt, void *null);
00139 int heapsort_cdouble(npy_cdouble *vec, npy_intp cnt, void *null);
00140 int mergesort_cdouble(npy_cdouble *vec, npy_intp cnt, void *null);
00141 int aquicksort_cdouble(npy_cdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00142 int aheapsort_cdouble(npy_cdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00143 int amergesort_cdouble(npy_cdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00144 
00145 
00146 int quicksort_clongdouble(npy_clongdouble *vec, npy_intp cnt, void *null);
00147 int heapsort_clongdouble(npy_clongdouble *vec, npy_intp cnt, void *null);
00148 int mergesort_clongdouble(npy_clongdouble *vec, npy_intp cnt, void *null);
00149 int aquicksort_clongdouble(npy_clongdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00150 int aheapsort_clongdouble(npy_clongdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00151 int amergesort_clongdouble(npy_clongdouble *vec, npy_intp *ind, npy_intp cnt, void *null);
00152 
00153 
00154 int quicksort_string(npy_char *vec, npy_intp cnt, PyArrayObject *arr);
00155 int heapsort_string(npy_char *vec, npy_intp cnt, PyArrayObject *arr);
00156 int mergesort_string(npy_char *vec, npy_intp cnt, PyArrayObject *arr);
00157 int aquicksort_string(npy_char *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00158 int aheapsort_string(npy_char *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00159 int amergesort_string(npy_char *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00160 
00161 
00162 int quicksort_unicode(npy_ucs4 *vec, npy_intp cnt, PyArrayObject *arr);
00163 int heapsort_unicode(npy_ucs4 *vec, npy_intp cnt, PyArrayObject *arr);
00164 int mergesort_unicode(npy_ucs4 *vec, npy_intp cnt, PyArrayObject *arr);
00165 int aquicksort_unicode(npy_ucs4 *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00166 int aheapsort_unicode(npy_ucs4 *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00167 int amergesort_unicode(npy_ucs4 *vec, npy_intp *ind, npy_intp cnt, PyArrayObject *arr);
00168 
00169 #endif