Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ENH: core: Replace PyArray_CastTo with a call to PyArray_CopyInto | Mark Wiebe | 2011-01-17 | 4 | -84/+163 |
| | | | | | | | | | Since CopyInto uses the dtype transfer mechanism to do the copying, this also fully handles casting. This also exposed a byte order issue in the dtype transfer code of converting to object arrays. The switch from position-based structure copying to name-based copying required a small change to a masked array test as well. | ||||
* | ENH: core: Add needs_api output boolean from dtype transfer | Mark Wiebe | 2011-01-17 | 7 | -182/+297 |
| | | | | | This change allows the NEEDS_PYAPI flag to be re-relaxed from the string, unicode, and void types. | ||||
* | ENH: core: Implement PyArray_CopyInto using the new iterator | Mark Wiebe | 2011-01-16 | 7 | -63/+238 |
| | | | | | | | | This change also uses the dtype conversion code implemented for new iterator buffering, which differs slightly from the previous casting behavior. In particular, fields are matched up by name instead of position, so code depending on that behavior breaks. The loadtxt function has been fixed to not depend on this casting behavior. | ||||
* | ENH: iter: Add macros for detecting and using trivially iterable cases | Mark Wiebe | 2011-01-16 | 2 | -6/+90 |
| | |||||
* | ENH: iter: Change PyArray_StridedTransferFn typedef to match NumPy function ↵ | Mark Wiebe | 2011-01-16 | 4 | -72/+95 |
| | | | | typedefs | ||||
* | ENH: iter: Run-length encode the representation of subarray broadcasting in ↵ | Mark Wiebe | 2011-01-16 | 2 | -31/+93 |
| | | | | data transfers | ||||
* | ENH: core: Switch nonzero to use the iterator as an example, add ↵ | Mark Wiebe | 2011-01-16 | 9 | -54/+316 |
| | | | | count_nonzero function | ||||
* | ENH: iter: Replace the last dtype decref with a transfer function method | Mark Wiebe | 2011-01-15 | 1 | -59/+119 |
| | |||||
* | ENH: iter: Add support for custom dtypes by wrapping copyswap when necessary | Mark Wiebe | 2011-01-15 | 3 | -165/+363 |
| | |||||
* | ENH: iter: Use the new code to do buffer decrefs | Mark Wiebe | 2011-01-15 | 1 | -12/+21 |
| | |||||
* | ENH: iter: Add support for buffering arrays with fields and subarrays | Mark Wiebe | 2011-01-14 | 8 | -1231/+2633 |
| | |||||
* | ENH: iter: Make the transfer buffer size a macro instead of hardcoded 32 | Mark Wiebe | 2011-01-13 | 1 | -27/+64 |
| | |||||
* | ENH: iter: Move cast transfer function logic to its own function | Mark Wiebe | 2011-01-13 | 1 | -140/+209 |
| | |||||
* | ENH: iter: Implement subarray transfer functions | Mark Wiebe | 2011-01-13 | 3 | -42/+667 |
| | |||||
* | ENH: iter: Add support for iterating object arrays | Mark Wiebe | 2011-01-13 | 7 | -36/+220 |
| | |||||
* | ENH: iter: Add check for buffered output allocation without delayed bufalloc | Mark Wiebe | 2011-01-12 | 3 | -14/+52 |
| | | | | | | | When allocating an output and specifying it's to be read, most iteration modes allow the code to fill the allocated output with a value before starting actual iteration. When buffering is enabled and delayed buffer allocation is not, this won't work, so throw an error | ||||
* | ENH: iter: Add support for buffering string and unicode arrays | Mark Wiebe | 2011-01-11 | 4 | -74/+292 |
| | |||||
* | BUG: iter: Added missing new_iterator_pywrap.h | Mark Wiebe | 2011-01-10 | 1 | -0/+8 |
| | |||||
* | ENH: iter: Expose PyArray_CastingConverter, add 'K' to PyArray_OrderConverter | Mark Wiebe | 2011-01-09 | 4 | -20/+25 |
| | |||||
* | ENH: iter: Add mechanism to use critical iteration functions without the GIL | Mark Wiebe | 2011-01-09 | 2 | -46/+131 |
| | | | | | | | In particular, the Reset*, GetIterNext, and GetGetCoords functions gain a new parameter 'errmsg'. If a non-NULL value is passed into it, error messages are passed back in this parameter instead of setting the Python exception. | ||||
* | ENH: iter: Add access functions for some buffering properties | Mark Wiebe | 2011-01-09 | 2 | -9/+50 |
| | |||||
* | ENH: iter: Split flag NBO_ALIGN into NBO and ALIGN, add CONTIG flag | Mark Wiebe | 2011-01-09 | 4 | -37/+84 |
| | |||||
* | ENH: iter: Add the new iterator to the exposed API | Mark Wiebe | 2011-01-09 | 12 | -440/+488 |
| | | | | | | | To do this, I also removed the search/replace of 'intp' to 'npy_intp', and did that change manually in a number of files. The NOPREFIX macro-based emulation of C++'s "using namespace" feels a bit off to me anyway. | ||||
* | ENH: iter: Move new_iterator.h to the include directory | Mark Wiebe | 2011-01-09 | 4 | -5/+4 |
| | |||||
* | ENH: iter: Add NPY_ITER_DELAY_BUFALLOC flag, fix Python iterator wrapper issues | Mark Wiebe | 2011-01-09 | 4 | -194/+398 |
| | |||||
* | ENH: iter: Added NpyIter_Copy function | Mark Wiebe | 2011-01-09 | 6 | -12/+282 |
| | |||||
* | ENH: iter: Add the ability to iterate over iterator index subranges | Mark Wiebe | 2011-01-09 | 4 | -341/+499 |
| | |||||
* | ENH: iter: Make the GROWINNER flag not imply BUFFERED | Mark Wiebe | 2011-01-09 | 4 | -11/+13 |
| | |||||
* | ENH: iter: Add getting and setting of IterIndex, the iteration index | Mark Wiebe | 2011-01-09 | 4 | -34/+258 |
| | |||||
* | ENH: iter: Shorten flag NPY_ITER_C/F_ORDER_INDEX to NPY_ITER_C/F_INDEX | Mark Wiebe | 2011-01-09 | 4 | -61/+61 |
| | |||||
* | ENH: iter: Change the meaning of itersize to be the number of elements, not ↵ | Mark Wiebe | 2011-01-09 | 3 | -37/+43 |
| | | | | the number of iterations | ||||
* | ENH: iter: Some more small clean-ups in iterator construction | Mark Wiebe | 2011-01-09 | 1 | -35/+31 |
| | |||||
* | ENH: iter: Clean up iterator creation code | Mark Wiebe | 2011-01-09 | 1 | -255/+274 |
| | |||||
* | ENH: iter: Move code out of NpyIter_MultiNew into functions | Mark Wiebe | 2011-01-09 | 1 | -365/+430 |
| | |||||
* | ENH: iter: Change internal iterator member access to improve type safety | Mark Wiebe | 2011-01-09 | 1 | -158/+189 |
| | |||||
* | ENH: iter: Change nested iteration pattern and add nested_iters Python function | Mark Wiebe | 2011-01-09 | 6 | -154/+715 |
| | | | | | | Nested iteration now uses a function NpyIter_ResetBasePointers, and the NPY_ITER_OFFSETS flag which was the previous way to do this has been removed. | ||||
* | ENH: iter: Refactor npyiter_init parameter conversion into separate functions | Mark Wiebe | 2011-01-09 | 2 | -424/+575 |
| | |||||
* | ENH: core: Change NPY_USE_UNALIGNED_ACCESS macro for low level loops | Mark Wiebe | 2011-01-09 | 1 | -7/+10 |
| | |||||
* | BUG: iter: Fix code and test for NPY_NO_CASTING case | Mark Wiebe | 2011-01-09 | 4 | -11/+21 |
| | |||||
* | BUG: iter: Fix a crash with the NO_BROADCAST flag | Mark Wiebe | 2011-01-09 | 2 | -3/+46 |
| | |||||
* | ENH: iter: Shorten COMMON_DATA_TYPE flag to COMMON_DTYPE | Mark Wiebe | 2011-01-09 | 4 | -14/+14 |
| | |||||
* | ENH: iter: Move casting flags into a casting= parameter | Mark Wiebe | 2011-01-09 | 5 | -100/+209 |
| | |||||
* | ENH: iter: Move forcing the iterator order into an order= parameter | Mark Wiebe | 2011-01-09 | 5 | -131/+128 |
| | |||||
* | ENH: iter: Detect cases where buffering of some operands can be skipped | Mark Wiebe | 2011-01-09 | 4 | -47/+126 |
| | |||||
* | ENH: iter: Added a no_broadcast flag to ensure an operand matches the ↵ | Mark Wiebe | 2011-01-09 | 5 | -5/+60 |
| | | | | iteration dimensions | ||||
* | ENH: iter: Add buffering support to more casting/swapping cases | Mark Wiebe | 2011-01-09 | 2 | -36/+257 |
| | |||||
* | ENH: iter: Small iterator tweaks | Mark Wiebe | 2011-01-09 | 1 | -6/+20 |
| | |||||
* | ENH: iter: Support the combined build option | Mark Wiebe | 2011-01-09 | 3 | -5/+7 |
| | |||||
* | ENH: iter: Add simple tests for buffering | Mark Wiebe | 2011-01-09 | 3 | -37/+106 |
| | |||||
* | ENH: Implemented basic buffering | Mark Wiebe | 2011-01-09 | 6 | -88/+1964 |
| |