Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
58a4084
ENH: iter: Start with iterator member access macros
mwiebe Dec 5, 2010
c70c602
ENH: iter: Basic version of iterator is running
mwiebe Dec 6, 2010
2d5a985
ENH: iter: Track indices, use templating to specialize iternext
mwiebe Dec 6, 2010
fa160f2
ENH: iter: Add the ability to get the iterator coordinates
mwiebe Dec 6, 2010
16057cd
ENH: iter: Add ability to force the iteration order (C, F, ANY)
mwiebe Dec 7, 2010
30b6eeb
ENH: iter: Add negation of axes with negative strides
mwiebe Dec 7, 2010
8b20488
ENH: iter: Sort the axes to find the best iteration order
mwiebe Dec 7, 2010
bfe1242
ENH: iter: Make zero-dimensional inputs work
mwiebe Dec 7, 2010
64cad9d
ENH: iter: Add axis coalescing
mwiebe Dec 8, 2010
d78b89d
ENH: iter: Add ability for caller to handle inner loop
mwiebe Dec 8, 2010
9cdb2ea
BUG: iter: Axis coalescing wasn't correct
mwiebe Dec 8, 2010
d35ca0b
ENH: iter: Add readonly/writeonly flags and more input checks
mwiebe Dec 8, 2010
3e504b9
ENH: iter: Make the iterator work with scalar inputs as well
mwiebe Dec 9, 2010
161baa8
ENH: iter: Move operand preparation into a function
mwiebe Dec 9, 2010
01b2650
ENH: iter: Move constructor functionality into functions
mwiebe Dec 9, 2010
e327042
ENH: iter: Move more code from the constructor into functions
mwiebe Dec 9, 2010
97734ae
ENH: iter: Create MultiNew function, make New call MultiNew
mwiebe Dec 9, 2010
0a986f2
ENH: iter: Add Reset, GotoCoords, and GotoIndex functions
mwiebe Dec 10, 2010
2dc6e3a
ENH: iter: Tighten up per-operand read/write flags
mwiebe Dec 10, 2010
74530a0
ENH: iter: Start Python wrapper of new iterator
mwiebe Dec 11, 2010
0ee1d15
TST: iter: Add some tests of the new iterator
mwiebe Dec 11, 2010
32f30d6
TST: iter: Add tests of axis coalescing
mwiebe Dec 12, 2010
8ed883f
TST: iter: Test that errors get raised for bad flag inputs
mwiebe Dec 12, 2010
08f4cd0
ENH: iter: Add GetShape function, more tests
mwiebe Dec 13, 2010
a2f915a
ENH: iter: Add ability to produce offsets instead of pointers
mwiebe Dec 13, 2010
b14aa3f
ENH: iter: Begin writing support for the iterator making temporary co…
mwiebe Dec 13, 2010
7b0f6e9
ENH: iter: Added error checking and tests for casting-related flags
mwiebe Dec 13, 2010
63ddc8d
ENH: iter: Implement scalar casting
mwiebe Dec 13, 2010
8780e1b
ENH: iter: Work towards supporting temporary copies
mwiebe Dec 14, 2010
a17241d
TST: iter: Add tests for array casting
mwiebe Dec 14, 2010
6e1da06
ENH: iter: Implementation and tests for nbo_align flag
mwiebe Dec 14, 2010
2878cd8
ENH: iter: Add support and tests for automatically allocating outputs
mwiebe Dec 14, 2010
b9f1c9a
ENH: iter: Expose noinner support to the Python iterator interface
mwiebe Dec 15, 2010
e2d8b78
ENH: iter: Add ability to automatically determine output data types
mwiebe Dec 15, 2010
3f33e1c
ENH: iter: Add array subtype support using the priority property
mwiebe Dec 16, 2010
4d70523
ENH: iter: Add the ability for Python to get a view of the iteration …
mwiebe Dec 16, 2010
404f9b5
BUG: iter: Fix dtype reference count error
mwiebe Dec 17, 2010
455f20f
ENH: iter Change iterator to just support numpy arrays
mwiebe Dec 17, 2010
a227288
ENH: iter: Remove max/min ndim parameters, they mostly get in the way
mwiebe Dec 17, 2010
4553901
ENH: iter: Shortened some flag names, adjust casting code
mwiebe Dec 18, 2010
b07ad2b
ENH: iter: Renamed PyArray_NpyIter* -> NpyIter*, consistent with nump…
mwiebe Dec 18, 2010
6db2223
BUG: iter: Fixed finding of common dtype with outputs factored in as …
mwiebe Dec 18, 2010
3f5de70
ENH: Add some utility functions for modifying the iterator
mwiebe Dec 18, 2010
6d41baf
ENH: Implemented basic buffering
mwiebe Dec 20, 2010
9e86467
ENH: iter: Add simple tests for buffering
mwiebe Dec 20, 2010
0ce35a2
ENH: iter: Support the combined build option
mwiebe Dec 21, 2010
578e01a
ENH: iter: Small iterator tweaks
mwiebe Dec 21, 2010
82643de
ENH: iter: Add buffering support to more casting/swapping cases
mwiebe Dec 21, 2010
ed53e18
ENH: iter: Added a no_broadcast flag to ensure an operand matches the…
mwiebe Dec 21, 2010
516a38d
ENH: iter: Detect cases where buffering of some operands can be skipped
mwiebe Dec 21, 2010
f365666
ENH: iter: Move forcing the iterator order into an order= parameter
mwiebe Dec 21, 2010
ba576a7
ENH: iter: Move casting flags into a casting= parameter
mwiebe Dec 21, 2010
d7203d0
ENH: iter: Shorten COMMON_DATA_TYPE flag to COMMON_DTYPE
mwiebe Dec 21, 2010
0ff9d91
BUG: iter: Fix a crash with the NO_BROADCAST flag
mwiebe Dec 22, 2010
f503ddb
BUG: iter: Fix code and test for NPY_NO_CASTING case
mwiebe Dec 22, 2010
6f87e6e
ENH: core: Change NPY_USE_UNALIGNED_ACCESS macro for low level loops
mwiebe Jan 2, 2011
fe791db
ENH: iter: Refactor npyiter_init parameter conversion into separate f…
mwiebe Jan 2, 2011
b3efccc
ENH: iter: Change nested iteration pattern and add nested_iters Pytho…
mwiebe Jan 4, 2011
45c009a
ENH: iter: Change internal iterator member access to improve type safety
mwiebe Jan 5, 2011
1f75aa0
ENH: iter: Move code out of NpyIter_MultiNew into functions
mwiebe Jan 5, 2011
380d34e
ENH: iter: Clean up iterator creation code
mwiebe Jan 5, 2011
e045964
ENH: iter: Some more small clean-ups in iterator construction
mwiebe Jan 5, 2011
ac2877b
ENH: iter: Change the meaning of itersize to be the number of element…
mwiebe Jan 5, 2011
181794b
ENH: iter: Shorten flag NPY_ITER_C/F_ORDER_INDEX to NPY_ITER_C/F_INDEX
mwiebe Jan 5, 2011
3026d40
ENH: iter: Add getting and setting of IterIndex, the iteration index
mwiebe Jan 6, 2011
05721c2
ENH: iter: Make the GROWINNER flag not imply BUFFERED
mwiebe Jan 6, 2011
07db847
ENH: iter: Add the ability to iterate over iterator index subranges
mwiebe Jan 6, 2011
3550d41
ENH: iter: Added NpyIter_Copy function
mwiebe Jan 7, 2011
e8101f5
ENH: iter: Add NPY_ITER_DELAY_BUFALLOC flag, fix Python iterator wrap…
mwiebe Jan 7, 2011
eff3118
ENH: iter: Move new_iterator.h to the include directory
mwiebe Jan 7, 2011
e70ee98
ENH: iter: Add the new iterator to the exposed API
mwiebe Jan 7, 2011
595d453
ENH: iter: Split flag NBO_ALIGN into NBO and ALIGN, add CONTIG flag
mwiebe Jan 7, 2011
96182f8
ENH: iter: Add access functions for some buffering properties
mwiebe Jan 8, 2011
d6f743d
ENH: iter: Add mechanism to use critical iteration functions without …
mwiebe Jan 9, 2011
e32e8c9
ENH: iter: Expose PyArray_CastingConverter, add 'K' to PyArray_OrderC…
mwiebe Jan 9, 2011
ebc963d
BUG: iter: Added missing new_iterator_pywrap.h
mwiebe Jan 10, 2011
c44820a
ENH: iter: Add support for buffering string and unicode arrays
mwiebe Jan 12, 2011
7c3b6b8
ENH: iter: Add check for buffered output allocation without delayed b…
mwiebe Jan 12, 2011
2b04a70
ENH: iter: Add support for iterating object arrays
mwiebe Jan 13, 2011
6d81f66
ENH: iter: Implement subarray transfer functions
mwiebe Jan 14, 2011
e15f111
ENH: iter: Move cast transfer function logic to its own function
mwiebe Jan 14, 2011
85f391b
ENH: iter: Make the transfer buffer size a macro instead of hardcoded 32
mwiebe Jan 14, 2011
5245d39
ENH: iter: Add support for buffering arrays with fields and subarrays
mwiebe Jan 15, 2011
a57d809
ENH: iter: Use the new code to do buffer decrefs
mwiebe Jan 15, 2011
9bf5bc6
ENH: iter: Add support for custom dtypes by wrapping copyswap when ne…
mwiebe Jan 15, 2011
1604e89
ENH: iter: Replace the last dtype decref with a transfer function method
mwiebe Jan 16, 2011
165d98d
ENH: core: Switch nonzero to use the iterator as an example, add coun…
mwiebe Jan 16, 2011
4f84b99
ENH: iter: Run-length encode the representation of subarray broadcast…
mwiebe Jan 16, 2011
eb927ce
ENH: iter: Change PyArray_StridedTransferFn typedef to match NumPy fu…
mwiebe Jan 16, 2011
03dd59a
ENH: iter: Add macros for detecting and using trivially iterable cases
mwiebe Jan 16, 2011
e6c3a0c
ENH: core: Implement PyArray_CopyInto using the new iterator
mwiebe Jan 17, 2011
e39a70c
ENH: core: Add needs_api output boolean from dtype transfer
mwiebe Jan 17, 2011
22d9609
ENH: core: Replace PyArray_CastTo with a call to PyArray_CopyInto
mwiebe Jan 17, 2011
e916b9e
ENH: core: Change PyArray_CopyAnyInto and PyArray_MoveAnyInto to use …
mwiebe Jan 18, 2011
d90f19a
ENH: core: Change PyArray_MoveInto to use the new iterator as well
mwiebe Jan 18, 2011
cce7e1f
ENH: core: Convert remaining data copying to new method, add tests fo…
mwiebe Jan 18, 2011
ee06d18
ENH: core: Start converting ufunc to new iterator, add PyArray_Promot…
mwiebe Jan 18, 2011
81a28e7
ENH: core: Add PyArray_MinScalarType and expose it to Python
mwiebe Jan 18, 2011
beba8f4
ENH: core: Add functions PyArray_CanCastArrayTo and PyArray_ResultType
mwiebe Jan 19, 2011
5387da5
ENH: doc: Document the new API functions
mwiebe Jan 19, 2011
fe08a91
ENH: iter: Switch the iterator to use PyArray_ResultType
mwiebe Jan 19, 2011
a1eee39
ENH: core: Added numeric casting strided transfer functions, to speed…
mwiebe Jan 19, 2011
3637741
ENH: core: Clean things up a bit
mwiebe Jan 19, 2011
eca4d03
ENH: ufunc: Add the main loop selection/type-determination mechanism
mwiebe Jan 20, 2011
c065a26
ENH: ufunc: Add trivial loop detection macros for triple loops
mwiebe Jan 20, 2011
58f33f8
ENH: ufunc: Implement the trivial two and three-operand loops
mwiebe Jan 20, 2011
fa08ee2
ENH: ufunc: Simple iterator-based ufunc execution is working
mwiebe Jan 20, 2011
a8f5b4c
ENH: ufunc: Restructure iterator ufunc evaluation into functions
mwiebe Jan 20, 2011
9ab33b7
ENH: ufunc: Add support for the __array_prepare__ property of subclas…
mwiebe Jan 20, 2011
6c6dc48
ENH: ufunc: Made the iterator ufunc default
mwiebe Jan 21, 2011
87596cf
ENH: ufunc: Make many more tests pass with the new ufunc code
mwiebe Jan 21, 2011
9317b74
BUG: iter: Fix 0-size edge case with trivial iteration macros
mwiebe Jan 21, 2011
a8ceeca
BUG: core: Fix issue converting nested list with a number to a string…
mwiebe Jan 21, 2011
d03b685
ENH: ufunc: Change object/reference handling code to treat NULL as Py…
mwiebe Jan 21, 2011
7f8e867
ENH: ufunc: Get all tests passing with new iterator ufunc except gene…
mwiebe Jan 21, 2011
42bd0c3
ENH: ufunc: Implement user loop searching
mwiebe Jan 22, 2011
a6651a1
ENH: ufunc: Add support for the sig= type_tuple parameter to new ufun…
mwiebe Jan 22, 2011
edc4805
ENH: iter: Improve broadcasting error message
mwiebe Jan 22, 2011
fb11cf1
STY: iter: Change if statements in trivial iteration macros
mwiebe Jan 22, 2011
f6c5df8
ENH: core: Make the debug printf tracing macros more systematic
mwiebe Jan 22, 2011
27987d2
ENH: iter: Add ability to do buffered iteration of reductions
mwiebe Jan 23, 2011
a41de3a
ENH: core: Start einsum function, add copyright notices to files
mwiebe Jan 23, 2011
34aed24
ENH: core: Implement iterator set up for einsum
mwiebe Jan 24, 2011
9a72a64
ENH: core: EinSum function works
mwiebe Jan 24, 2011
e81e8da
ENH: core: Add SSE intrinsic support to some of the einsum core loops
mwiebe Jan 24, 2011
5435bdc
DOC: core: Document the new einsum function
mwiebe Jan 25, 2011
7e14f03
ENH: ufunc: Convert UFunc Reduce to use the new iterator
mwiebe Jan 25, 2011
b410514
ENH: ufunc: Release the GIL during ufunc computations
mwiebe Jan 25, 2011
fadddc6
ENH: iter: Add NpyIter_RemoveAxis function to the iterator API
mwiebe Jan 25, 2011
14d5e20
ENH: ufunc: Convert Accumulate to use the new iterator
mwiebe Jan 25, 2011
8a0bec0
ENH: ufunc: Convert Reduceat to use the new iterator
mwiebe Jan 25, 2011
62300b6
ENH: ufunc: Remove dead code from ufunc_object.c
mwiebe Jan 26, 2011
585a636
ENH: core: Shuffle type numbers so any new ones go on the end.
mwiebe Jan 26, 2011
cf8d152
ENH: core: Make PyArray_ArrFuncs have the same structure as in 1.5 an…
mwiebe Jan 26, 2011
98721b3
BUG: ufunc: Fix buffered reduce
mwiebe Jan 26, 2011
c4a556e
BUG: core: Fix things so scipy trunk passes all tests (but one)
mwiebe Jan 26, 2011
29e8689
BLD: Add einsum to the one file build
mwiebe Jan 26, 2011
0a01142
ENH: ufunc: Move reduceat to its own function, have it use the iterator
mwiebe Jan 27, 2011
3e58b8d
ENH: core: Make NumPy trunk ABI-compatible with 1.5
mwiebe Jan 26, 2011
01c7866
ENH: ufunc: Add new iterator version of generalized ufuncs
mwiebe Jan 27, 2011
536ee13
ENH: iter: Change permutation to a fixed-size char array
mwiebe Jan 27, 2011
628e7b7
ENH: iter: Remove internal NPY_OP_ITFLAG_COPY flag
mwiebe Jan 27, 2011
2a1706f
ENH: iter: Add a per-operand REDUCE flag
mwiebe Jan 27, 2011
779b01b
WRN: iter: Fix half-float warnings, other small tweaks
mwiebe Jan 27, 2011
b8c1f4b
ENH: iter: Improve performance of buffering reduce operations
mwiebe Jan 27, 2011
9593758
BUG: Single file build had wrong promotion table type
mwiebe Jan 28, 2011
211191d
WRN: Fix some warnings and suspicious looking code
mwiebe Jan 28, 2011
82bd8f9
VER: Change version to 1.6.0
mwiebe Jan 26, 2011
aca4c64
STY: core: Improve formating of ParseTuple argument lists
mwiebe Jan 28, 2011
6510cce
ENH: core: Add PyArray_NewLikeArray function
mwiebe Jan 28, 2011
c9d1849
ENH: core: Add dtype= and order= parameters to zeros_like, ones_like,…
mwiebe Jan 28, 2011
aedce0e
ENH: core: Add support for numpy.ravel(a, order='K')
mwiebe Jan 28, 2011
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions THANKS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ Roberto de Almeida for the buffered array iterator.
Alan McIntyre for updating the NumPy test framework to use nose, improve
the test coverage, and enhancing the test system documentation.
Joe Harrington for administering the 2008 Documentation Sprint.
Mark Wiebe for the new NumPy iterator, the float16 data type, improved
low-level data type operations, and other NumPy core improvements.

NumPy is based on the Numeric (Jim Hugunin, Paul Dubois, Konrad
Hinsen, and David Ascher) and NumArray (Perry Greenfield, J Todd
Expand Down
1 change: 1 addition & 0 deletions doc/source/reference/arrays.ndarray.rst
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ Array conversion
ndarray.item
ndarray.tolist
ndarray.itemset
ndarray.setasflat
ndarray.tostring
ndarray.tofile
ndarray.dump
Expand Down
86 changes: 82 additions & 4 deletions doc/source/reference/c-api.array.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,21 @@ From scratch
*dims* and *strides* are copied into newly allocated dimension and
strides arrays for the new array object.

.. cfunction:: PyObject* PyArray_NewLikeArray(PyArrayObject* prototype, NPY_ORDER order, PyArray_Descr* descr)

This function steals a reference to *descr* if it is not NULL.

This array creation routine allows for the convenient creation of
a new array matching an existing array's shapes and memory layout,
possibly changing the layout and/or data type.

When *order* is NPY_ANYORDER, the result order is NPY_FORTRANORDER if
*prototype* is a fortran array, NPY_CORDER otherwise. When *order* is
NPY_KEEPORDER, the result order matches that of *prototype*, even
when the axes of *prototype* aren't in C or Fortran order.

If *descr* is NULL, the data type of *prototype* is used.

.. cfunction:: PyObject* PyArray_New(PyTypeObject* subtype, int nd, npy_intp* dims, int type_num, npy_intp* strides, void* data, int itemsize, int flags, PyObject* obj)

This is similar to :cfunc:`PyArray_DescrNew` (...) except you
Expand Down Expand Up @@ -817,6 +832,9 @@ Converting data types

.. cfunction:: int PyArray_CastTo(PyArrayObject* out, PyArrayObject* in)

Deprecated, PyArray_CopyInto handles the casting for NumPy 1.6 and
later.

Cast the elements of the array *in* into the array *out*. The
output array should be writeable, have an integer-multiple of the
number of elements in the input array (more than one copy can be
Expand Down Expand Up @@ -844,15 +862,53 @@ Converting data types

.. cfunction:: int PyArray_CanCastTo(PyArray_Descr* fromtype, PyArray_Descr* totype)

Deprecated, PyArray_CanCastTypeTo subsumes its functionality in
NumPy 1.6 and later.

Equivalent to PyArray_CanCastTypeTo(fromtype, totype, NPY_SAFE_CASTING).

.. cfunction:: int PyArray_CanCastTypeTo(PyArray_Descr* fromtype, PyArray_Descr* totype, NPY_CASTING casting)

Returns non-zero if an array of data type *fromtype* (which can
include flexible types) can be cast safely to an array of data
type *totype* (which can include flexible types). This is
basically a wrapper around :cfunc:`PyArray_CanCastSafely` with
additional support for size checking if *fromtype* and *totype*
are :cdata:`NPY_STRING` or :cdata:`NPY_UNICODE`.
type *totype* (which can include flexible types) according to
the casting rule *casting*. For simple types with NPY_SAFE_CASTING,
this is basically a wrapper around :cfunc:`PyArray_CanCastSafely`, but
for flexible types such as strings or unicode, it produces results
taking into account their sizes.

.. cfunction:: int PyArray_CanCastArrayTo(PyArrayObject* arr, PyArray_Descr* totype, NPY_CASTING casting)

Returns non-zero if *arr* can be cast to *totype* according
to the casting rule given in *casting*. If *arr* is an array
scalar, its value is taken into account, and non-zero is also
returned when the value will not overflow or be truncated to
an integer when converting to a smaller type.

.. cfunction:: PyArray_Descr* PyArray_MinScalarType(PyArrayObject* arr)

If *arr* is an array, returns its data type descriptor, but if
*arr* is an array scalar (has 0 dimensions), it finds the data type
of smallest kind and size to which the value may be converted
without overflow or truncation to an integer.

.. cfunction:: PyArray_Descr* PyArray_PromoteTypes(PyArray_Descr* type1, PyArray_Descr* type2)

Finds the data type of smallest size and kind to which *type1* and
*type2* may be safely converted.

.. cfunction:: PyArray_Descr* PyArray_ResultType(npy_intp narrs, PyArrayObject**arrs, npy_intp ndtypes, PyArray_Descr**dtypes)

This applies PyArray_PromoteTypes to all the inputs, along with
using the NumPy rules for combining scalars and arrays, to
determine the output type of a set of operands. This is the
same result type that ufuncs produce.

.. cfunction:: int PyArray_ObjectType(PyObject* op, int mintype)

This function is deprecated, use PyArray_MinScalarType and/or
PyArray_ResultType for this functionality.

This function is useful for determining a common type that two or
more arrays can be converted to. It only works for non-flexible
array types as no itemsize information is passed. The *mintype*
Expand All @@ -863,6 +919,8 @@ Converting data types

.. cfunction:: void PyArray_ArrayType(PyObject* op, PyArray_Descr* mintype, PyArray_Descr* outtype)

This function is deprecated, use PyArray_ResultType.

This function works similarly to :cfunc:`PyArray_ObjectType` (...)
except it handles flexible arrays. The *mintype* argument can have
an itemsize member and the *outtype* argument will have an
Expand All @@ -871,6 +929,10 @@ Converting data types

.. cfunction:: PyArrayObject** PyArray_ConvertToCommonType(PyObject* op, int* n)

May be deprecated in the future. Using the newly introduced iterator
with flag NPY_ITER_COMMON_DTYPE or with the same dtype parameter for
all operands is preferred to this method.

Convert a sequence of Python objects contained in *op* to an array
of ndarrays each having the same data type. The type is selected
based on the typenumber (larger type number is chosen over a
Expand Down Expand Up @@ -1532,6 +1594,10 @@ Item selection and manipulation
). Return the *offset* diagonals of the 2-d arrays defined by
*axis1* and *axis2*.

.. cfunction:: npy_intp PyArray_CountNonzero(PyArrayObject* self)

Counts the number of non-zero elements in the array object *self*.

.. cfunction:: PyObject* PyArray_Nonzero(PyArrayObject* self)

Equivalent to :meth:`ndarray.nonzero` (*self*). Returns a tuple of index
Expand Down Expand Up @@ -2339,6 +2405,18 @@ to.
Convert Python strings into one of :cdata:`NPY_SEARCHLEFT` (starts with 'l'
or 'L'), or :cdata:`NPY_SEARCHRIGHT` (starts with 'r' or 'R').

.. cfunction:: int PyArray_OrderConverter(PyObject* obj, NPY_ORDER* order)

Convert the Python strings 'C', 'F', 'A', and 'K' into the NPY_ORDER
enumeration NPY_CORDER, NPY_FORTRANORDER, NPY_ANYORDER, and NPY_KEEPORDER.

.. cfunction:: int PyArray_CastingConverter(PyObject* obj, NPY_CASTING* casting)

Convert the Python strings 'no', 'equiv', 'safe', 'same_kind', and
'unsafe' into the NPY_CASTING enumeration NPY_NO_CASTING,
NPY_EQUIV_CASTING, NPY_SAFE_CASTING, NPY_SAME_KIND_CASTING, and
NPY_UNSAFE_CASTING.

Other conversions
^^^^^^^^^^^^^^^^^

Expand Down
20 changes: 11 additions & 9 deletions doc/source/reference/c-api.ufunc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -153,15 +153,17 @@ Functions
followed by the outputs assumed by the 1-d loop.

.. cfunction:: int PyUFunc_GenericFunction(PyUFuncObject* self,
PyObject* args, PyArrayObject** mps)

A generic ufunc call. The ufunc is passed in as *self*, the
arguments to the ufunc as *args*. The *mps* argument is an array
of :ctype:`PyArrayObject` pointers containing the converted input
arguments as well as the ufunc outputs on return. The user is
responsible for managing this array and receives a new reference
for each array in *mps*. The total number of arrays in *mps* is
given by *self* ->nin + *self* ->nout.
PyObject* args, PyObject* kwds, PyArrayObject** mps)

A generic ufunc call. The ufunc is passed in as *self*, the arguments
to the ufunc as *args* and *kwds*. The *mps* argument is an array of
:ctype:`PyArrayObject` pointers whose values are discarded and which
receive the converted input arguments as well as the ufunc outputs
when success is returned. The user is responsible for managing this
array and receives a new reference for each array in *mps*. The total
number of arrays in *mps* is given by *self* ->nin + *self* ->nout.

Returns 0 on success, -1 on error.

.. cfunction:: int PyUFunc_checkfperr(int errmask, PyObject* errobj)

Expand Down
3 changes: 3 additions & 0 deletions doc/source/reference/routines.dtype.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ Data type routines
:toctree: generated/

can_cast
promote_types
min_scalar_type
result_type
common_type
obj2sctype

Expand Down
1 change: 1 addition & 0 deletions doc/source/reference/routines.linalg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Matrix and vector products
inner
outer
tensordot
einsum
linalg.matrix_power
kron

Expand Down
11 changes: 9 additions & 2 deletions doc/source/reference/routines.sort.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Sorting and searching
=====================
Sorting, searching, and counting
================================

.. currentmodule:: numpy

Expand Down Expand Up @@ -30,3 +30,10 @@ Searching
where
searchsorted
extract

Counting
--------
.. autosummary::
:toctree: generated/

count_nonzero
Loading