diff options
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/__init__.py | 2 | ||||
-rw-r--r-- | numpy/core/setup.py | 2 | ||||
-rw-r--r-- | numpy/core/src/multiarray/arraytypes.c.src | 25 |
3 files changed, 27 insertions, 2 deletions
diff --git a/numpy/core/__init__.py b/numpy/core/__init__.py index 4a9f3ac75..dc6f86c20 100644 --- a/numpy/core/__init__.py +++ b/numpy/core/__init__.py @@ -7,7 +7,7 @@ import umath import _internal # for freeze programs import numerictypes as nt multiarray.set_typeDict(nt.sctypeDict) -import _sort +#import _sort from numeric import * from fromnumeric import * import defchararray as char diff --git a/numpy/core/setup.py b/numpy/core/setup.py index 0cc04b4a8..c5667bea9 100644 --- a/numpy/core/setup.py +++ b/numpy/core/setup.py @@ -817,7 +817,7 @@ def configuration(parent_package='',top_path=None): join(codegen_dir,'generate_numpy_api.py'), join('*.py')], depends = deps + multiarray_deps, - libraries = ['npymath']) + libraries = ['npymath', 'npysort']) ####################################################################### # umath module # diff --git a/numpy/core/src/multiarray/arraytypes.c.src b/numpy/core/src/multiarray/arraytypes.c.src index e4dab1f7e..dc8d493f3 100644 --- a/numpy/core/src/multiarray/arraytypes.c.src +++ b/numpy/core/src/multiarray/arraytypes.c.src @@ -12,6 +12,7 @@ #include "numpy/npy_math.h" #include "numpy/halffloat.h" +#include "numpy/npy_sort.h" #include "common.h" #include "ctors.h" @@ -3259,6 +3260,8 @@ static int /**begin repeat * * #from = VOID, STRING, UNICODE# + * #suff = void, string, unicode# + * #sort = 0, 1, 1# * #align = char, char, PyArray_UCS4# * #NAME = Void, String, Unicode# * #endian = |, |, =# @@ -3299,12 +3302,21 @@ static PyArray_ArrFuncs _Py@NAME@_ArrFuncs = { (PyArray_NonzeroFunc*)@from@_nonzero, (PyArray_FillFunc*)NULL, (PyArray_FillWithScalarFunc*)NULL, +#if @sort@ + { + quicksort_@suff@, heapsort_@suff@, mergesort_@suff@ + }, + { + aquicksort_@suff@, aheapsort_@suff@, amergesort_@suff@ + }, +#else { NULL, NULL, NULL }, { NULL, NULL, NULL }, +#endif NULL, (PyArray_ScalarKindFunc*)NULL, NULL, @@ -3341,6 +3353,10 @@ static PyArray_Descr @from@_Descr = { * #from = BOOL, BYTE, UBYTE, SHORT, USHORT, INT, UINT, LONG, ULONG, * LONGLONG, ULONGLONG, HALF, FLOAT, DOUBLE, LONGDOUBLE, * CFLOAT, CDOUBLE, CLONGDOUBLE, OBJECT, DATETIME, TIMEDELTA# + * #suff = bool, byte, ubyte, short, ushort, int, uint, long, ulong, + * longlong, ulonglong, half, float, double, longdouble, + * cfloat, cdouble, clongdouble, object, datetime, timedelta# + * #sort = 1*18, 0*3# * #num = 1*15, 2*3, 1*3# * #fromtyp = Bool, byte, ubyte, short, ushort, int, uint, long, ulong, * longlong, ulonglong, npy_half, float, double, longdouble, @@ -3390,12 +3406,21 @@ static PyArray_ArrFuncs _Py@NAME@_ArrFuncs = { (PyArray_NonzeroFunc*)@from@_nonzero, (PyArray_FillFunc*)@from@_fill, (PyArray_FillWithScalarFunc*)@from@_fillwithscalar, +#if @sort@ + { + quicksort_@suff@, heapsort_@suff@, mergesort_@suff@ + }, + { + aquicksort_@suff@, aheapsort_@suff@, amergesort_@suff@ + }, +#else { NULL, NULL, NULL }, { NULL, NULL, NULL }, +#endif NULL, (PyArray_ScalarKindFunc*)NULL, NULL, |