numpy 2.0.0
|
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