<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/lib/src, branch v1.9.0</title>
<subtitle>github.com: numpy/numpy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/'/>
<entry>
<title>BUG: fix incorrect minlength handling in np.bincount</title>
<updated>2014-03-26T05:52:18+00:00</updated>
<author>
<name>immerrr</name>
<email>immerrr@gmail.com</email>
</author>
<published>2014-03-24T05:16:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=e5cf3654e81573bf583cbf6a8688a5e44fafceea'/>
<id>e5cf3654e81573bf583cbf6a8688a5e44fafceea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: release gil for np.packbits and np.unpackbits</title>
<updated>2014-03-11T19:48:38+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2014-03-10T21:23:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=7add97bcee029ae5269532c33b9531ebf26f89c5'/>
<id>7add97bcee029ae5269532c33b9531ebf26f89c5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: Make interp return NaN at NaN interpolation points.</title>
<updated>2014-02-16T18:42:56+00:00</updated>
<author>
<name>Charles Harris</name>
<email>charlesr.harris@gmail.com</email>
</author>
<published>2014-02-16T18:27:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=1c2ac8fd02cf6db60b2e15ec994b8febe025424a'/>
<id>1c2ac8fd02cf6db60b2e15ec994b8febe025424a</id>
<content type='text'>
A NaN interpolation point was interpreted as out of bounds on the left
side, hence the value of the left parameter in the function call was
returned.

&gt;&gt;&gt; np.interp(np.nan, [-10, 10], [-2, 2])
-2.0

NaN is a better choice.

Closes #605.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A NaN interpolation point was interpreted as out of bounds on the left
side, hence the value of the left parameter in the function call was
returned.

&gt;&gt;&gt; np.interp(np.nan, [-10, 10], [-2, 2])
-2.0

NaN is a better choice.

Closes #605.
</pre>
</div>
</content>
</entry>
<entry>
<title>MANT: separated initial assignment for `min` and `max`</title>
<updated>2014-02-12T07:01:39+00:00</updated>
<author>
<name>jaimefrio</name>
<email>jaime.frio@gmail.com</email>
</author>
<published>2014-02-12T07:01:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=b8a6eb61ffa3199ced987d44aeb331dcff299eb7'/>
<id>b8a6eb61ffa3199ced987d44aeb331dcff299eb7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: single pass over array in `bincount` to determine output size</title>
<updated>2014-02-12T06:42:07+00:00</updated>
<author>
<name>jaimefrio</name>
<email>jaime.frio@gmail.com</email>
</author>
<published>2014-02-12T06:41:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=9dcdb57792d9b03144b55ebe84bc97b32af6c1db'/>
<id>9dcdb57792d9b03144b55ebe84bc97b32af6c1db</id>
<content type='text'>
`bincount` checks its input array to make sure there are no negative entries,
and to determine the size of the output array. This is done by calling two
different functions, each having to loop over the whole array. This PR
adds a new function, `minmax`, that computes the minimum and maximum of the
array in a single pass over it. This leads to speed-ups peaking at 1.5x,
with typical values for large arrays around 1.15x - 1.25x.

A full benchmark summary of the new implementation, including a supposedly
more efficient algorithm that turned out to run slower, can be found [here](https://gist.github.com/jaimefrio/8743836).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`bincount` checks its input array to make sure there are no negative entries,
and to determine the size of the output array. This is done by calling two
different functions, each having to loop over the whole array. This PR
adds a new function, `minmax`, that computes the minimum and maximum of the
array in a single pass over it. This leads to speed-ups peaking at 1.5x,
with typical values for large arrays around 1.15x - 1.25x.

A full benchmark summary of the new implementation, including a supposedly
more efficient algorithm that turned out to run slower, can be found [here](https://gist.github.com/jaimefrio/8743836).
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: rewrote `check_array_monotonic` following @charris suggestion to</title>
<updated>2014-02-12T00:38:18+00:00</updated>
<author>
<name>jaimefrio</name>
<email>jaime.frio@gmail.com</email>
</author>
<published>2014-02-12T00:37:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=c8975ff262292d760b533bb433de50b686b15f9e'/>
<id>c8975ff262292d760b533bb433de50b686b15f9e</id>
<content type='text'>
       minimize indexing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
       minimize indexing.
</pre>
</div>
</content>
</entry>
<entry>
<title>STY: adapted code to `C_STYLE_GUIDE.rst.txt`.</title>
<updated>2014-02-10T06:11:27+00:00</updated>
<author>
<name>jaimefrio</name>
<email>jaime.frio@gmail.com</email>
</author>
<published>2014-02-10T06:06:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=f65593dd69cae9b0fb30c06c07868dafb8436d11'/>
<id>f65593dd69cae9b0fb30c06c07868dafb8436d11</id>
<content type='text'>
MAINT: rewrote `check_array_monotonic` to use array indices, not pointers.
TST: tests for proper handling of bins with all items almost equal now check
     the return value for correctness, not just that an error is not raised.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MAINT: rewrote `check_array_monotonic` to use array indices, not pointers.
TST: tests for proper handling of bins with all items almost equal now check
     the return value for correctness, not just that an error is not raised.
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: check for monotonic bin arrays in digitize</title>
<updated>2014-01-31T00:51:00+00:00</updated>
<author>
<name>jaimefrio</name>
<email>jaime.frio@gmail.com</email>
</author>
<published>2014-01-31T00:49:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=839225599b1fb18ebb09424459ebd2066a8f21f9'/>
<id>839225599b1fb18ebb09424459ebd2066a8f21f9</id>
<content type='text'>
The check for monotonic bin arrays of digitize doesn't properly handle
inputs with repeated entries at the beginning of the array:

```
&gt;&gt;&gt; np.__version__
'1.8.0'
&gt;&gt;&gt; np.digitize([1], [0, 0 , 2])
array([2], dtype=int64)
&gt;&gt;&gt; np.digitize([1], [2, 2, 0])
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
ValueError: The bins must be monotonically increasing or decreasing
```

Modified `check_array_monotonic` in `_compiled_base.c` to skip over repeating
entries before deciding to check for increasing or decreasing monotonicity
and added relevant tests to `test_function_base.py`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The check for monotonic bin arrays of digitize doesn't properly handle
inputs with repeated entries at the beginning of the array:

```
&gt;&gt;&gt; np.__version__
'1.8.0'
&gt;&gt;&gt; np.digitize([1], [0, 0 , 2])
array([2], dtype=int64)
&gt;&gt;&gt; np.digitize([1], [2, 2, 0])
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
ValueError: The bins must be monotonically increasing or decreasing
```

Modified `check_array_monotonic` in `_compiled_base.c` to skip over repeating
entries before deciding to check for increasing or decreasing monotonicity
and added relevant tests to `test_function_base.py`.
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: accept NULL in NpyIter_Deallocate and remove redundant NULL checks</title>
<updated>2013-10-03T21:32:09+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2013-10-03T21:01:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=76db3ffb4b8e8a1031133a9a747310b8639890a0'/>
<id>76db3ffb4b8e8a1031133a9a747310b8639890a0</id>
<content type='text'>
Deallocation should just do nothing if provided a NULL pointer nditer
deletion broke this convention.
Removed many redundant NULL checks for various deallocation functions
used in numpy, they all end up in standard C free or PyMem_Free which
are both NULL safe.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Deallocation should just do nothing if provided a NULL pointer nditer
deletion broke this convention.
Removed many redundant NULL checks for various deallocation functions
used in numpy, they all end up in standard C free or PyMem_Free which
are both NULL safe.
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: Remove outdated version checks.</title>
<updated>2013-07-11T18:43:18+00:00</updated>
<author>
<name>Charles Harris</name>
<email>charlesr.harris@gmail.com</email>
</author>
<published>2013-07-11T18:08:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=28eadc0e31ca7aea5c679023d1e703856f45c879'/>
<id>28eadc0e31ca7aea5c679023d1e703856f45c879</id>
<content type='text'>
Because Numpy 1.8.0 will no longer supports Python versions &lt; 2.6 we
no longer need to check for that and can also remove the code that is
specific to those earlier versions.

To make this a bit safer, the toplevel setup.py file now contains a
check of the Python version number and raises an error when run by an
unsupported version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because Numpy 1.8.0 will no longer supports Python versions &lt; 2.6 we
no longer need to check for that and can also remove the code that is
specific to those earlier versions.

To make this a bit safer, the toplevel setup.py file now contains a
check of the Python version number and raises an error when run by an
unsupported version.
</pre>
</div>
</content>
</entry>
</feed>
