<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/core/setup.py, branch v1.8.0b1</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>STY: Giant comma spacing fixup.</title>
<updated>2013-08-18T17:51:25+00:00</updated>
<author>
<name>Charles Harris</name>
<email>charlesr.harris@gmail.com</email>
</author>
<published>2013-08-18T17:51:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=fbd6510d58a47ea0d166c48a82793f05425406e4'/>
<id>fbd6510d58a47ea0d166c48a82793f05425406e4</id>
<content type='text'>
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: add quickselect algorithm and expose it via partition</title>
<updated>2013-08-12T12:25:52+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2013-05-18T05:45:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=9c4c1c432b27f67eee2ad22ff5f2f9833bd1516d'/>
<id>9c4c1c432b27f67eee2ad22ff5f2f9833bd1516d</id>
<content type='text'>
A partition sorts the kth element into its sorted order and moves all
smaller elements before the kth element and all equal or greater
elements behind it.
The ordering of all elements in the partitions is undefined.

It is implemented via the introselection algorithm which has worst case
linear complexity compared to a full sort that has linearithmic
complexity.
The introselect algorithm uses a quickselect with median of three pivot
and falls back to a quickselect with median of median of five pivot if
no sufficient progress is made.

The pivots used during the search for the wanted kth element can
optionally be stored and reused for further partitionings of the array.
This is used by the python interface if an array of kth is provided to
the partitions function. This improves the performance of median and
which need to select two elements if the size of the array is even. A
percentile function interpolating between values also profits from this.

String selection is implemented in terms of quicksort which has the same
properties as a selection for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A partition sorts the kth element into its sorted order and moves all
smaller elements before the kth element and all equal or greater
elements behind it.
The ordering of all elements in the partitions is undefined.

It is implemented via the introselection algorithm which has worst case
linear complexity compared to a full sort that has linearithmic
complexity.
The introselect algorithm uses a quickselect with median of three pivot
and falls back to a quickselect with median of median of five pivot if
no sufficient progress is made.

The pivots used during the search for the wanted kth element can
optionally be stored and reused for further partitionings of the array.
This is used by the python interface if an array of kth is provided to
the partitions function. This improves the performance of median and
which need to select two elements if the size of the array is even. A
percentile function interpolating between values also profits from this.

String selection is implemented in terms of quicksort which has the same
properties as a selection for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3527 from dmuellner/master</title>
<updated>2013-08-01T22:56:43+00:00</updated>
<author>
<name>Charles Harris</name>
<email>charlesr.harris@gmail.com</email>
</author>
<published>2013-08-01T22:56:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=196398fadb7fe402a67ccea0bc1546b36d066440'/>
<id>196398fadb7fe402a67ccea0bc1546b36d066440</id>
<content type='text'>
Fix for the NumPy C-API deprecation mechanism.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix for the NumPy C-API deprecation mechanism.</pre>
</div>
</content>
</entry>
<entry>
<title>Reflect file name change in setup.py.</title>
<updated>2013-07-30T06:02:37+00:00</updated>
<author>
<name>dmuellner</name>
<email>Daniel Müllner muellner@math.stanford.edu</email>
</author>
<published>2013-07-30T06:02:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=b5991e07ae8653b727a857efc4b8eaa732618575'/>
<id>b5991e07ae8653b727a857efc4b8eaa732618575</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Add support for Motorola extended float format</title>
<updated>2013-07-29T16:01:39+00:00</updated>
<author>
<name>Andreas Schwab</name>
<email>schwab@linux-m68k.org</email>
</author>
<published>2012-01-11T13:47:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=7bd1f1303f80f0f79352a3c76b4b29f7c5bd73be'/>
<id>7bd1f1303f80f0f79352a3c76b4b29f7c5bd73be</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: tell gcc to unroll strided copy loops</title>
<updated>2013-06-13T16:52:31+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2013-06-10T21:02:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=75df68b5ca238eabc2de144dce08d481c59ffcaf'/>
<id>75df68b5ca238eabc2de144dce08d481c59ffcaf</id>
<content type='text'>
The strided copy loops profit a lot from unrolling as the number of
operations executed is in each iterations very small.
GCC needs to be told explicitly to do unrolling even on O3.

Unrolling is only profitable if the move can be done in a single
instruction, else the increased code size makes it slower, thus the flag
is only used for operations on element sizes less equal the native
pointer size.

Tested to improve performance of by 20-50% on intel core2duo, xeon
5xxx/7xxx and amd phenom x4.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The strided copy loops profit a lot from unrolling as the number of
operations executed is in each iterations very small.
GCC needs to be told explicitly to do unrolling even on O3.

Unrolling is only profitable if the move can be done in a single
instruction, else the increased code size makes it slower, thus the flag
is only used for operations on element sizes less equal the native
pointer size.

Tested to improve performance of by 20-50% on intel core2duo, xeon
5xxx/7xxx and amd phenom x4.
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: move simd functions to new file simd.inc.src</title>
<updated>2013-06-08T20:32:06+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2013-06-07T20:44:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=63123538b7d4d948919dfb5366a78eaa972fcda9'/>
<id>63123538b7d4d948919dfb5366a78eaa972fcda9</id>
<content type='text'>
SIMD functions are called via a minimal dispatcher function.
Minizes extra code in loops.c.src and hopefully transparently allows to
simply enable more complex (runtime) dispatching rules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SIMD functions are called via a minimal dispatcher function.
Minizes extra code in loops.c.src and hopefully transparently allows to
simply enable more complex (runtime) dispatching rules.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: vectorize sqrt ufunc using SSE2</title>
<updated>2013-05-25T15:36:00+00:00</updated>
<author>
<name>Julian Taylor</name>
<email>jtaylor.debian@googlemail.com</email>
</author>
<published>2013-05-19T15:04:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=0adccaaa910ab495e993f453956fd983775604f3'/>
<id>0adccaaa910ab495e993f453956fd983775604f3</id>
<content type='text'>
specialize the sqrt ufunc for float and double and vectorize it using
SSE2.

improves performance by 4/2 for float/double if one is not memory bound
due to non-cached data.
performance is always better on all tested machines (amd phenom X2,
intel xeon 5xxx/7xxx, core2duo, corei7)

This version will not set errno on invalid input, but numpy only checks
the fpu flags so the behavior is the same.

In principle the compiler could autovectorize it when setting ffast-math
(for no errno) and specializing the loop for the vectorizable strides
and giving it some hints (restrict, __builtin_assume_aligned, etc.),
but its simpler and more reliable to simply vectorize it by hand.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
specialize the sqrt ufunc for float and double and vectorize it using
SSE2.

improves performance by 4/2 for float/double if one is not memory bound
due to non-cached data.
performance is always better on all tested machines (amd phenom X2,
intel xeon 5xxx/7xxx, core2duo, corei7)

This version will not set errno on invalid input, but numpy only checks
the fpu flags so the behavior is the same.

In principle the compiler could autovectorize it when setting ffast-math
(for no errno) and specializing the loop for the vectorizable strides
and giving it some hints (restrict, __builtin_assume_aligned, etc.),
but its simpler and more reliable to simply vectorize it by hand.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3308 from juliantaylor/optimize-isnan</title>
<updated>2013-05-15T15:33:55+00:00</updated>
<author>
<name>njsmith</name>
<email>njs@pobox.com</email>
</author>
<published>2013-05-15T15:33:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=0337cf2f8cf555912dd39a2767a0f7f9e6398257'/>
<id>0337cf2f8cf555912dd39a2767a0f7f9e6398257</id>
<content type='text'>
ENH: use intrinsics for isnan, isfinite and isinf</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ENH: use intrinsics for isnan, isfinite and isinf</pre>
</div>
</content>
</entry>
<entry>
<title>Add test for struct array ufuncs</title>
<updated>2013-05-14T23:02:21+00:00</updated>
<author>
<name>Jay Bourque</name>
<email>jay.bourque@continuum.io</email>
</author>
<published>2013-04-03T23:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=70e8f83248351278ba43e1018f46b9fa0ce371ea'/>
<id>70e8f83248351278ba43e1018f46b9fa0ce371ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
