summaryrefslogtreecommitdiff
path: root/numpy/lib/arraypad.py
Commit message (Collapse)AuthorAgeFilesLines
* Clarify signature of numpy.pad.Antony Lee2015-08-071-4/+1
| | | | | `mode` is a required argument so just declare it as such. This does not prevent it from being passed as a keyword argument.
* ENH: Improve arg handling & enhance test suite for np.padJosh Warner (Mac)2015-01-061-56/+78
|
* DOC : do not abuse enum markupThomas A Caswell2014-12-121-5/+5
| | | | | | | | | - {ndarray, bool} -> ndarray or bool - {int, array of ints} -> int or array of ints - {str, function} -> str or function - {sequnce, int} -> sequence or int - {array_like, poly1d} -> array_like or poly1d - {None, list of `m` scalars, scalar} -> list of `m` scalars or scalar
* STY: Make files in numpy/lib PEP8 compliant.Charles Harris2014-07-311-1/+0
| | | | The rules enforced are the same as those used for scipy.
* MAINT: Fixes for problems in numpy/lib revealed by pyflakes.Charles Harris2014-07-311-4/+1
| | | | | | Some of those problems look like potential coding errors. In those cases a Fixme comment was made and the offending code, usually an unused variable, was commented out.
* Avoid overallocating memory in arraypad with user supplied functionJonathan L Long2013-12-171-1/+1
| | | | | | Previously, arraypad used zeros(shape).astype(dtype) instead of zeros(shape, dtype), which could allocate up to eight times more memory than necessary.
* DOC: Change pad mode options to a definition listendolith2013-11-101-23/+33
| | | Current formatting is not part of rst, and is not rendering correctly at http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.pad.html
* BUG: Allow to pad arrays by zero entries.Jostein Bø Fløystad2013-07-051-1/+1
| | | | | np.pad will now accept a pad_width containing zeros. The functionality was already implemented, but validation of input was too strict.
* ENH: improved, faster algorithm for array paddingJosh Warner (Mac)2013-05-191-414/+1087
| | | | | | | | | | | | New padding method which scales much better with dimensionality. This new implementation is fully vectorized, builds each abstracted n-dimensional padding block in a single step, and takes advantage of separability. The API is completely preserved, and the old algorithm is used if a vector function is input for `mode`. The new algorithm is faster for all tested combinations of inputs, and scales much better with dimensionality. Execution time reductions from ~25% for small rank 1 arrays to >99% for rank 4+ arrays observed.
* STY: pep8 and pep257 audit.Josh Warner (Mac)2013-05-071-89/+101
| | | | | | Audit numpy/lib/arraypad.py for pep8 and pep257 compliance. Also fix a few minor docstring corrections converting ] into ) or vice versa.
* 2to3: Apply the `numliterals` fixer and skip the `long` fixer.Charles Harris2013-04-131-0/+1
| | | | | | | | | | | | | | | | | | | The numliterals fixer replaces the old style octal number like '01' by '0o1' removes the 'L' suffix. Octal values were previously mistakenly specified in some dates, those uses have been corrected by removing the leading zeros. Simply Removing the 'L' suffix should not be a problem, but in some testing code it looks neccesary, so in those places the Python long constructor is used instead. The 'long' type is no longer defined in Python 3. Because we need to have it defined for Python 2 it is added to numpy/compat/np3k.py where it is defined as 'int' for Python 3 and 'long' for Python 2. The `long` fixer then needs to be skipped so that it doesn't undo the good work. Closes #3074, #3067.
* 2to3: apply `dict` fixer.Charles Harris2013-04-061-1/+1
| | | | | | | | | | | | | | | In Python3 `dict.items()`, `dict.keys()`, and `dict.values()` are iterators. This causes problems when a list is needed so the 2to3 fixer explicitly constructs a list when is finds on of those functions. However, that is usually not necessary, so a lot of the work here has been cleaning up those places where the fix is not needed. The big exception to that is the `numpy/f2py/crackfortran.py` file. The code there makes extensive use of loops that modify the contents of the dictionary being looped through, which raises an error. That together with the obscurity of the code in that file made it safest to let the `dict` fixer do its worst. Closes #3050.
* 2to3: Apply `print` fixer.Charles Harris2013-04-061-1/+1
| | | | | | | Add `print_function` to all `from __future__ import ...` statements and use the python3 print function syntax everywhere. Closes #3078.
* Merge pull request #460 from endolith/regex_formattingCharles Harris2013-04-031-2/+2
|\ | | | | DOC: Formatting fixes using regex
| * DOC: Used regex to find colons missing spaces which render wrong online, ↵endolith2013-03-191-2/+2
| | | | | | | | also other spacing or formatting mistakes
* | 2to3: Use absolute imports.Charles Harris2013-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new import `absolute_import` is added the `from __future__ import` statement and The 2to3 `import` fixer is run to make the imports compatible. There are several things that need to be dealt with to make this work. 1) Files meant to be run as scripts run in a different environment than files imported as part of a package, and so changes to those files need to be skipped. The affected script files are: * all setup.py files * numpy/core/code_generators/generate_umath.py * numpy/core/code_generators/generate_numpy_api.py * numpy/core/code_generators/generate_ufunc_api.py 2) Some imported modules are not available as they are created during the build process and consequently 2to3 is unable to handle them correctly. Files that import those modules need a bit of extra work. The affected files are: * core/__init__.py, * core/numeric.py, * core/_internal.py, * core/arrayprint.py, * core/fromnumeric.py, * numpy/__init__.py, * lib/npyio.py, * lib/function_base.py, * fft/fftpack.py, * random/__init__.py Closes #3172
* | 2to3: Replace xrange by range and use list(range(...)) where neededCharles Harris2013-03-271-1/+1
|/ | | | | | | | | | | | | | | In python3 range is an iterator and `xrange` has been removed. This has two consequence for code: 1) Where a list is needed `list(range(...))` must be used. 2) `xrange` must be replaced by `range` Both of these changes also work in python2 and this patch makes both. There are three places fixed that do not need it, but I left them in so that the result would be `xrange` clean. Closes #3092
* 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-011-0/+2
| | | | | | | | This should be harmless, as we already are division clean. However, placement of this import takes some care. In the future a script can be used to append new features without worry, at least until such time as it exceeds a single line. Having that ability will make it easier to deal with absolute imports and printing updates.
* STY: Touch up documentation in arraypad.pyCharles Harris2012-04-041-111/+125
| | | | | Rearrange some of the documentation and shorten lines. A few long lines of code were also broken.
* ENH: Add module containing functions for padding n-dimensional arrays.tim cera2012-04-041-0/+767
The various padding functions are exposed as options to a public 'pad' function. Example: pad(a, 5, mode='mean') Current modes are 'constant', 'edge', 'linear_ramp', 'maximum', 'mean', 'median', 'minimum', 'reflect', 'symmetric', 'wrap', and <function> This commit includes unit tests and doctests and is based on feature request ticket #655.