summaryrefslogtreecommitdiff
path: root/numpy
Commit message (Collapse)AuthorAgeFilesLines
...
| | * ENH: ufunc: Made the iterator ufunc defaultMark Wiebe2011-01-201-6/+47
| | |
| | * ENH: ufunc: Add support for the __array_prepare__ property of subclassed arraysMark Wiebe2011-01-204-78/+291
| | |
| | * ENH: ufunc: Restructure iterator ufunc evaluation into functionsMark Wiebe2011-01-203-520/+808
| | |
| | * ENH: ufunc: Simple iterator-based ufunc execution is workingMark Wiebe2011-01-202-40/+173
| | |
| | * ENH: ufunc: Implement the trivial two and three-operand loopsMark Wiebe2011-01-192-10/+60
| | |
| | * ENH: ufunc: Add trivial loop detection macros for triple loopsMark Wiebe2011-01-193-24/+146
| | | | | | | | | | | | Also allow broadcasting with scalars in trivial loops.
| | * ENH: ufunc: Add the main loop selection/type-determination mechanismMark Wiebe2011-01-196-54/+128
| | |
| | * ENH: core: Clean things up a bitMark Wiebe2011-01-195-35/+32
| | | | | | | | | | | | | | | * Make PyArray_CastToType always produce a copy * Remove special cases in ndarray.astype
| | * ENH: core: Added numeric casting strided transfer functions, to speed up ↵Mark Wiebe2011-01-197-86/+496
| | | | | | | | | | | | simple casts
| | * ENH: iter: Switch the iterator to use PyArray_ResultTypeMark Wiebe2011-01-183-163/+40
| | |
| | * ENH: doc: Document the new API functionsMark Wiebe2011-01-181-1/+1
| | | | | | | | | | | | | | | PyArray_CanCastArrayTo, PyArray_MinScalarType, PyArray_PromoteTypes, PyArray_ResultType, PyArray_CountNonzero, and PyArray_CastingConverter.
| | * ENH: core: Add functions PyArray_CanCastArrayTo and PyArray_ResultTypeMark Wiebe2011-01-189-152/+753
| | | | | | | | | | | | They have also been exposed to Python.
| | * ENH: core: Add PyArray_MinScalarType and expose it to PythonMark Wiebe2011-01-185-1/+307
| | |
| | * ENH: core: Start converting ufunc to new iterator, add PyArray_PromoteTypesMark Wiebe2011-01-1811-27/+533
| | |
| | * ENH: core: Convert remaining data copying to new method, add tests for ↵Mark Wiebe2011-01-177-122/+103
| | | | | | | | | | | | overlapping array assignment
| | * ENH: core: Change PyArray_MoveInto to use the new iterator as wellMark Wiebe2011-01-171-327/+122
| | |
| | * ENH: core: Change PyArray_CopyAnyInto and PyArray_MoveAnyInto to use the new ↵Mark Wiebe2011-01-176-345/+227
| | | | | | | | | | | | | | | | | | | | | | | | iterator I also found that the tricky case of CopyAnyInto wasn't being triggered by the test suite, so added a new function ndarray.setasflat, which calls CopyAnyInto.
| | * ENH: core: Replace PyArray_CastTo with a call to PyArray_CopyIntoMark Wiebe2011-01-174-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 transferMark Wiebe2011-01-177-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 iteratorMark Wiebe2011-01-167-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 casesMark Wiebe2011-01-162-6/+90
| | |
| | * ENH: iter: Change PyArray_StridedTransferFn typedef to match NumPy function ↵Mark Wiebe2011-01-164-72/+95
| | | | | | | | | | | | typedefs
| | * ENH: iter: Run-length encode the representation of subarray broadcasting in ↵Mark Wiebe2011-01-162-31/+93
| | | | | | | | | | | | data transfers
| | * ENH: core: Switch nonzero to use the iterator as an example, add ↵Mark Wiebe2011-01-169-54/+316
| | | | | | | | | | | | count_nonzero function
| | * ENH: iter: Replace the last dtype decref with a transfer function methodMark Wiebe2011-01-151-59/+119
| | |
| | * ENH: iter: Add support for custom dtypes by wrapping copyswap when necessaryMark Wiebe2011-01-153-165/+363
| | |
| | * ENH: iter: Use the new code to do buffer decrefsMark Wiebe2011-01-151-12/+21
| | |
| | * ENH: iter: Add support for buffering arrays with fields and subarraysMark Wiebe2011-01-148-1231/+2633
| | |
| | * ENH: iter: Make the transfer buffer size a macro instead of hardcoded 32Mark Wiebe2011-01-131-27/+64
| | |
| | * ENH: iter: Move cast transfer function logic to its own functionMark Wiebe2011-01-131-140/+209
| | |
| | * ENH: iter: Implement subarray transfer functionsMark Wiebe2011-01-133-42/+667
| | |
| | * ENH: iter: Add support for iterating object arraysMark Wiebe2011-01-137-36/+220
| | |
| | * ENH: iter: Add check for buffered output allocation without delayed bufallocMark Wiebe2011-01-123-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 arraysMark Wiebe2011-01-114-74/+292
| | |
| | * BUG: iter: Added missing new_iterator_pywrap.hMark Wiebe2011-01-101-0/+8
| | |
| | * ENH: iter: Expose PyArray_CastingConverter, add 'K' to PyArray_OrderConverterMark Wiebe2011-01-094-20/+25
| | |
| | * ENH: iter: Add mechanism to use critical iteration functions without the GILMark Wiebe2011-01-092-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 propertiesMark Wiebe2011-01-092-9/+50
| | |
| | * ENH: iter: Split flag NBO_ALIGN into NBO and ALIGN, add CONTIG flagMark Wiebe2011-01-094-37/+84
| | |
| | * ENH: iter: Add the new iterator to the exposed APIMark Wiebe2011-01-0912-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 directoryMark Wiebe2011-01-094-5/+4
| | |
| | * ENH: iter: Add NPY_ITER_DELAY_BUFALLOC flag, fix Python iterator wrapper issuesMark Wiebe2011-01-094-194/+398
| | |
| | * ENH: iter: Added NpyIter_Copy functionMark Wiebe2011-01-096-12/+282
| | |
| | * ENH: iter: Add the ability to iterate over iterator index subrangesMark Wiebe2011-01-094-341/+499
| | |
| | * ENH: iter: Make the GROWINNER flag not imply BUFFEREDMark Wiebe2011-01-094-11/+13
| | |
| | * ENH: iter: Add getting and setting of IterIndex, the iteration indexMark Wiebe2011-01-094-34/+258
| | |
| | * ENH: iter: Shorten flag NPY_ITER_C/F_ORDER_INDEX to NPY_ITER_C/F_INDEXMark Wiebe2011-01-094-61/+61
| | |
| | * ENH: iter: Change the meaning of itersize to be the number of elements, not ↵Mark Wiebe2011-01-093-37/+43
| | | | | | | | | | | | the number of iterations
| | * ENH: iter: Some more small clean-ups in iterator constructionMark Wiebe2011-01-091-35/+31
| | |
| | * ENH: iter: Clean up iterator creation codeMark Wiebe2011-01-091-255/+274
| | |