summaryrefslogtreecommitdiff
path: root/numpy/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 2to3: Apply the `numliterals` fixer and skip the `long` fixer.Charles Harris2013-04-1310-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 itertools fixer.Charles Harris2013-04-122-4/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | In Python 3 zip, map, and filter are all iterators, consequently the itertools variants izip, imap, and ifilter have been removed and the itertools fixer replaces them with the unprefixed names. Because the places where the iterator variants are used in current look like places where the iterator version might be useful, the approach taken here is to define the prefixed versions to the unprefixed versions for Python 3, but otherwise import them from itertools. Closes #3233.
* | FIX: rename xrange to range in python 2Sebastian Berg2013-04-111-1/+4
| | | | | | | | | | | | np.delete abuses range to calculate start/stop/step and len. This would create potentially large intermediates if it was a list, so for numpy/lib/function_base.py and python < 3, use range = xrange.
* | MAINT: np.delete keep old out of bound/negative index behaviorSebastian Berg2013-04-112-19/+36
| |
* | TST: New tests for insert/delete covering warnings and corner casesSebastian Berg2013-04-111-9/+65
| |
* | FIX: insert/delete fixes and warnings for non-integer indicesSebastian Berg2013-04-111-25/+43
| |
* | ENH: larger fixes for np.delete and np.insert functionsSebastian Berg2013-04-112-55/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several smaller to larger problems for these two functions, that this addresses: * delete did not handle out of bound values graciously (ignoring negative ones) * both were unnecessarily slow due to use of sets * insert did not handle unsorted indices correctly Further changes: * Add FutureWarning for boolean obj, so it can be handled similar to a boolean mask with indexing. * Add FutureWarning to remove inconsistent special cases for 0-d arrays (neither insertion nor deletion along an axis make sense for a scalar) * Allow insertion of an array with more then one element along axis when obj is a sequence with a single item. (i.e. array([1])). * Reintroduce speed optimization for scalar in insert that existed in 1.6.
* | Merge pull request #3216 from charris/2to3-apply-map-fixerCharles Harris2013-04-107-22/+24
|\ \ | | | | | | 2to3: Apply `map` fixer.
| * | 2to3: Apply `map` fixer.Charles Harris2013-04-107-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Python 3 `map` is an iterator while in Python 2 it returns a list. The simple fix applied by the fixer is to inclose all instances of map with `list(...)`. This is not needed in all cases, and even where appropriate list comprehensions may be preferred for their clarity. Consequently, this patch attempts to use list comprehensions where it makes sense. When the mapped function has two arguments there is another problem that can arise. In Python 3 map stops execution when the shortest argument list is exhausted, while in Python 2 it stops when the longest argument list is exhausted. Consequently the two argument case might need special care. However, we have been running Python3 converted versions of numpy since 1.5 without problems, so it is probably not something that affects us. Closes #3068
* | | ENH: add `invert` parameter to numpy.in1d().Julien Phalip2013-04-082-7/+35
|/ /
* | Merge pull request #3205 from charris/2to3-apply-dict-fixerCharles Harris2013-04-077-9/+9
|\ \ | | | | | | 2to3: apply `dict` fixer.
| * | 2to3: apply `dict` fixer.Charles Harris2013-04-067-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3202 from charris/2to3-reduce-fixupsnjsmith2013-04-072-5/+2
|\ \ \ | |/ / |/| | MAINT: Cleanup some imports involving reduce.
| * | MAINT: Cleanup some imports involving reduce.Charles Harris2013-04-062-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because reduce has been available in functools since Python 2.6 we can get rid of the version checks we currently have before we import it. Also removes some reduce related skips in tools/py3tool.py. We were already skipping the reduce fixer so this has no effect other than cleaning up the code.
* | | 2to3: Apply `print` fixer.Charles Harris2013-04-0642-80/+80
|/ / | | | | | | | | | | | | Add `print_function` to all `from __future__ import ...` statements and use the python3 print function syntax everywhere. Closes #3078.
* | Merge pull request #3191 from charris/2to3-apply-imports-fixerCharles Harris2013-04-0611-286/+314
|\ \ | | | | | | 2to3: Apply `imports` fixer.
| * | 2to3: Apply `imports` fixer.Charles Harris2013-04-0211-286/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `imports` fixer deals with the standard packages that have been renamed, removed, or methods that have moved. cPickle -- removed, use pickle commands -- removed, getoutput, getstatusoutput moved to subprocess urlparse -- removed, urlparse moved to urllib.parse cStringIO -- removed, use StringIO or io.StringIO copy_reg -- renamed copyreg _winreg -- renamed winreg ConfigParser -- renamed configparser __builtin__ -- renamed builtins In the case of `cPickle`, it is imported as `pickle` when python < 3 and performance may be a consideration, but otherwise plain old `pickle` is used. Dealing with `StringIO` is a bit tricky. There is an `io.StringIO` function in the `io` module, available since Python 2.6, but it expects unicode whereas `StringIO.StringIO` expects ascii. The Python 3 equivalent is then `io.BytesIO`. What I have done here is used BytesIO for anything that is emulating a file for testing purposes. That is more explicit than using a redefined StringIO as was done before we dropped support for Python 2.4 and 2.5. Closes #3180.
* | | Merge pull request #460 from endolith/regex_formattingCharles Harris2013-04-039-12/+12
|\ \ \ | |/ / |/| | DOC: Formatting fixes using regex
| * | DOC: regex-assisted fixes of definition list formattingendolith2013-03-194-5/+6
| | |
| * | DOC: Used regex to find colons missing spaces which render wrong online, ↵endolith2013-03-195-7/+6
| | | | | | | | | | | | also other spacing or formatting mistakes
* | | Merge pull request #3178 from charris/2to3-apply-import-fixernjsmith2013-04-0241-69/+69
|\ \ \ | | | | | | | | 2to3 apply import fixer
| * | | 2to3: Use absolute imports.Charles Harris2013-03-2841-69/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge pull request #3104 from seberg/nditer-allow-0dCharles Harris2013-04-011-24/+1
|\ \ \ \ | |/ / / |/| | | Make AdvancedNew iter more 0-d aware
| * | | MAINT: Remove np.ndindex 0-d hack.Sebastian Berg2013-03-031-24/+1
| | | |
* | | | 2to3: Replace xrange by range and use list(range(...)) where neededCharles Harris2013-03-279-15/+15
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | TST: Get rid of a ResourceWarning.Charles Harris2013-03-031-6/+15
|/ / | | | | | | | | | | | | | | I'm not sure this is the right fix, but test_closing_fid need to check that garbage collection will close a file that goes through a bunch of openings followed by dropping the reference. So the fix is to ignore warnings during the test. I'd just ignore ResourceWarning, but it does not look to be a built in warning in Python 2.7.
* | Merge pull request #3026 from charris/2to3-fix-printCharles Harris2013-03-0142-17/+97
|\ \ | | | | | | 2to3: Put `from __future__ import division` in every python file.
| * | 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-0142-17/+97
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | 2to3: Apply `methodattrs` fixes.Charles Harris2013-03-011-3/+3
|/ / | | | | | | | | Replaces old style `f.im_func` and `f.im_class` method attributes with `f.__func__` and `f.__class__`. Closes #3070.
* | 2to3: Apply `raise` fixes. Closes #3077.Charles Harris2013-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | Replaces the raise Exception, msg: form with raise Exception(msg):
* | Merge pull request #3047 from charris/2to3-callablenjsmith2013-02-281-1/+2
|\ \ | | | | | | 2to3: Fix callable.
| * | 2to3: Fix callable.Charles Harris2013-02-281-1/+2
| | |
* | | Merge pull request #3059 from charris/2to3-funcattrsnjsmith2013-02-281-4/+4
|\ \ \ | | | | | | | | 2to3: Apply `funcattrs` fixer. Closes #3058.
| * | | 2to3: Apply `funcattrs` fixer. Closes #3058.Charles Harris2013-02-281-4/+4
| |/ / | | | | | | | | | | | | This replaces the `b.func_xxxx` with newer `__xxxx__` attribute names For example, `f.__name__` replaces `f.func_name`
* | | 2to3: apply exec fixer results.Charles Harris2013-02-281-1/+1
|/ / | | | | | | This changes the `exec` command to the `exec` function.
* | 2to3: Use modern exception syntax.Charles Harris2013-02-264-7/+7
| | | | | | | | Example: except ValueError,msg: -> except ValueError as msg:
* | Update numpy/lib/function_base.pyAndreas Hilboll2013-02-171-1/+1
| | | | | | fix percentile docstring
* | BUG: Make nansum work with booleans.Charles Harris2013-02-122-1/+12
|/ | | | | | | | This broke when function_base._nannop tried to fill a boolean array with integer zeros, raising a 'safe_casting' error. It looks like nanargmax and nanargmin would also break, and were probably incorrect for booleans in any case. The fix is not to use fill values for boolean and integer dtypes. Previously that was only done for the integer dtypes.
* TST: Add a test for ndindex call.Travis E. Oliphant2013-01-211-0/+4
|
* Fix-up logic for checking for zero-d arrays.Travis E. Oliphant2013-01-211-1/+3
|
* Merge pull request #2914 from charris/remove-scons-supportCharles Harris2013-01-153-25/+0
|\ | | | | Remove scons support
| * DEP: Remove scons related files and code.Charles Harris2013-01-133-25/+0
| | | | | | | | | | | | | | | | | | This removes files and code supporting scons builds. After this change numpy will only support builds using distutils or bento. The removal of scons has been discussed on the list several times and a decision has been made that scons support is no longer needed. This was originally discussed for numpy 1.7 and because the distutils and bento methods are still available we are skipping the usual deprecation period.
* | Fix 0-d ndincr to have correct return value.Travis E. Oliphant2013-01-111-1/+1
| |
* | Fix the test for numpy.ndindex()Travis E. Oliphant2013-01-112-5/+24
| | | | | | | | | | Fix ndindex for 0-d arrays. Add tests for tuple arguments to ndindex
* | Use super instead of direct access to inheritance.Travis E. Oliphant2013-01-101-1/+1
| |
* | Fix the 0-d patch so it doesn't change the non 0-d iteratorTravis E. Oliphant2013-01-101-11/+11
| |
* | Fix ndindex for 0-d arrays.Travis E. Oliphant2013-01-101-1/+10
| |
* | Fix the test for numpy.ndindex()Travis E. Oliphant2013-01-101-1/+1
| |
* | Add test for optional size argument for ndindexJay Bourque2013-01-091-0/+4
|/
* TST: Add test for in1d ravellingSebastian Berg2012-12-161-0/+13
| | | | | | The behavior of in1d is not really defined here, but it should be at least consistent over different execution branches. This is what it has been for most usages.