summaryrefslogtreecommitdiff
path: root/doc/source/reference/c-api.array.rst
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-08-12 06:28:41 -0700
committerCharles Harris <charlesr.harris@gmail.com>2013-08-12 06:28:41 -0700
commitf8efcb6f191621e7c59f5385c85aeaa83be3669d (patch)
treed0029c507a53d4faedc3be104c8f8200eb21e157 /doc/source/reference/c-api.array.rst
parent028007e05fd62d37fc98daf91ae0aafc1ea95cb8 (diff)
parent4d9cd695486fa095c6bff3238341a85cbdb47d0e (diff)
downloadnumpy-f8efcb6f191621e7c59f5385c85aeaa83be3669d.tar.gz
Merge pull request #3360 from juliantaylor/selection-algo
add quickselect algorithm and expose it via partition
Diffstat (limited to 'doc/source/reference/c-api.array.rst')
-rw-r--r--doc/source/reference/c-api.array.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/source/reference/c-api.array.rst b/doc/source/reference/c-api.array.rst
index cef400fad..34ef3318a 100644
--- a/doc/source/reference/c-api.array.rst
+++ b/doc/source/reference/c-api.array.rst
@@ -1810,6 +1810,27 @@ Item selection and manipulation
would be placed. No checking is done on whether or not self is in
ascending order.
+.. cfunction:: int PyArray_Partition(PyArrayObject *self, PyArrayObject * ktharray, int axis, NPY_SELECTKIND which)
+
+ Equivalent to :meth:`ndarray.partition` (*self*, *ktharray*, *axis*,
+ *kind*). Partitions the array so that the values of the element indexed by
+ *ktharray* are in the positions they would be if the array is fully sorted
+ and places all elements smaller than the kth before and all elements equal
+ or greater after the kth element. The ordering of all elements within the
+ partitions is undefined.
+ If *self*->descr is a data-type with fields defined, then
+ self->descr->names is used to determine the sort order. A comparison where
+ the first field is equal will use the second field and so on. To alter the
+ sort order of a record array, create a new data-type with a different
+ order of names and construct a view of the array with that new data-type.
+ Returns zero on success and -1 on failure.
+
+.. cfunction:: PyObject* PyArray_ArgPartition(PyArrayObject *op, PyArrayObject * ktharray, int axis, NPY_SELECTKIND which)
+
+ Equivalent to :meth:`ndarray.argpartition` (*self*, *ktharray*, *axis*,
+ *kind*). Return an array of indices such that selection of these indices
+ along the given ``axis`` would return a partitioned version of *self*.
+
.. cfunction:: PyObject* PyArray_Diagonal(PyArrayObject* self, int offset, int axis1, int axis2)
Equivalent to :meth:`ndarray.diagonal` (*self*, *offset*, *axis1*, *axis2*