<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/benchmarks, branch v1.23.2</title>
<subtitle>github.com: numpy/numpy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/'/>
<entry>
<title>Revert "ENH: Implement string comparison ufuncs (or almost) "</title>
<updated>2022-06-16T14:55:55+00:00</updated>
<author>
<name>Charles Harris</name>
<email>charlesr.harris@gmail.com</email>
</author>
<published>2022-06-16T14:55:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=95e38b3eebf88ba4cec0fb20654e049101c1ee51'/>
<id>95e38b3eebf88ba4cec0fb20654e049101c1ee51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Implement string comparison ufuncs (or almost) (#21041)</title>
<updated>2022-06-10T13:54:10+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastian@sipsolutions.net</email>
</author>
<published>2022-06-10T13:48:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=545f1b6499b730cf9c2388f234f8c18248da2baf'/>
<id>545f1b6499b730cf9c2388f234f8c18248da2baf</id>
<content type='text'>
* ENH: Implement string comparison ufuncs (or almost)

This makes all comparison operators and ufuncs work on strings
using the ufunc machinery.
It requires a half-manual "ufunc" to keep supporting void comparisons
and especially `np.compare_chararrays` (that one may have a bit more
overhead now).

In general the new code should be much faster, and has a lot of easier
optimization potential.  It is also much simpler since it can outsource
some complexities to the ufunc/iterator machinery.

This further fixes a couple of bugs with byte-swapped strings.

The backward compatibility related change is that using the normal
ufunc machinery means that string comparisons between string and
unicode now give a `FutureWarning` (instead of just False).

* MAINT: Do not use C99 tagged struct init in C++

C++ does not like it (at least not before C++20)... GCC and clang
don't seem to mind, but MSVC seems to.

* BENCH: Add basic string comparison benchmarks

* DOC,STY: Fixup string-comparisons comments based on review

Thanks to Marten's comments, a few clarfications and slight fixups.

* ENH: Use `memcmp` because it may be faster for the byte case

* TST: Improve string and unicode comparison tests.

* MAINT: Use switch statement based on review

As suggested be Serge.

Co-authored-by: Serge Guelton &lt;serge.guelton@telecom-bretagne.eu&gt;

* TST: Make unicode byte-swap test slightly more concrete

The issue is that the `view` needs to use native byte-order, so
just ensure native byte-order for the view, and then do another cast
to get it right.

* BUG: Add `np.compare_chararrays` to test and fix typo

* TST: Add test for empty string comparisons

* TST: Fixup string test based on martens review

* MAINT: Move definitions back into string_ufuncs.h

* MAINT: Use enum class for comparison operator templating

This removes the need for a dynamic (or static) assert in the
switch statement.

* Template version of add_loop to avoid redundant code

* STY: Fixup style, two spaces, error is -1

* STY: Small `string_ufuncs.cpp` fixups based on Serge's review

* MAINT: Fix merge conflict (ensure_dtype_nbo was removed)

Co-authored-by: Serge Guelton &lt;serge.guelton@telecom-bretagne.eu&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ENH: Implement string comparison ufuncs (or almost)

This makes all comparison operators and ufuncs work on strings
using the ufunc machinery.
It requires a half-manual "ufunc" to keep supporting void comparisons
and especially `np.compare_chararrays` (that one may have a bit more
overhead now).

In general the new code should be much faster, and has a lot of easier
optimization potential.  It is also much simpler since it can outsource
some complexities to the ufunc/iterator machinery.

This further fixes a couple of bugs with byte-swapped strings.

The backward compatibility related change is that using the normal
ufunc machinery means that string comparisons between string and
unicode now give a `FutureWarning` (instead of just False).

* MAINT: Do not use C99 tagged struct init in C++

C++ does not like it (at least not before C++20)... GCC and clang
don't seem to mind, but MSVC seems to.

* BENCH: Add basic string comparison benchmarks

* DOC,STY: Fixup string-comparisons comments based on review

Thanks to Marten's comments, a few clarfications and slight fixups.

* ENH: Use `memcmp` because it may be faster for the byte case

* TST: Improve string and unicode comparison tests.

* MAINT: Use switch statement based on review

As suggested be Serge.

Co-authored-by: Serge Guelton &lt;serge.guelton@telecom-bretagne.eu&gt;

* TST: Make unicode byte-swap test slightly more concrete

The issue is that the `view` needs to use native byte-order, so
just ensure native byte-order for the view, and then do another cast
to get it right.

* BUG: Add `np.compare_chararrays` to test and fix typo

* TST: Add test for empty string comparisons

* TST: Fixup string test based on martens review

* MAINT: Move definitions back into string_ufuncs.h

* MAINT: Use enum class for comparison operator templating

This removes the need for a dynamic (or static) assert in the
switch statement.

* Template version of add_loop to avoid redundant code

* STY: Fixup style, two spaces, error is -1

* STY: Small `string_ufuncs.cpp` fixups based on Serge's review

* MAINT: Fix merge conflict (ensure_dtype_nbo was removed)

Co-authored-by: Serge Guelton &lt;serge.guelton@telecom-bretagne.eu&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>add test for small percentile</title>
<updated>2022-05-10T12:54:03+00:00</updated>
<author>
<name>Pieter Eendebak</name>
<email>pieter.eendebak@gmail.com</email>
</author>
<published>2022-05-10T12:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=159714bd258645d82a0e511c44a9fc60b0837bc2'/>
<id>159714bd258645d82a0e511c44a9fc60b0837bc2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix mean test</title>
<updated>2022-05-10T12:45:49+00:00</updated>
<author>
<name>Pieter Eendebak</name>
<email>pieter.eendebak@gmail.com</email>
</author>
<published>2022-05-10T12:45:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=ab62db3a27575fd59c5a4e1d41dd84dadcafdea4'/>
<id>ab62db3a27575fd59c5a4e1d41dd84dadcafdea4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PERF Add benchmarks targeted at small arrays and scalars</title>
<updated>2022-05-10T12:19:52+00:00</updated>
<author>
<name>Pieter Eendebak</name>
<email>pieter.eendebak@gmail.com</email>
</author>
<published>2022-05-10T12:19:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=2534a7c77dbc0a6588e5155387d07cedd31c7410'/>
<id>2534a7c77dbc0a6588e5155387d07cedd31c7410</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #21188 from seberg/scalar-math-rewrite</title>
<updated>2022-05-07T17:02:19+00:00</updated>
<author>
<name>Matti Picus</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2022-05-07T17:02:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=37cb0f8463345648add0e1e98fd146c966146981'/>
<id>37cb0f8463345648add0e1e98fd146c966146981</id>
<content type='text'>
MAINT,ENH: Rewrite scalar math logic</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MAINT,ENH: Rewrite scalar math logic</pre>
</div>
</content>
</entry>
<entry>
<title>DEV: Pin setuptools in the asv config</title>
<updated>2022-05-06T12:23:37+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastian@sipsolutions.net</email>
</author>
<published>2022-05-06T12:21:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=117aecb463601d6821ea4682a877d0fbd69d8a95'/>
<id>117aecb463601d6821ea4682a877d0fbd69d8a95</id>
<content type='text'>
Adding the setuptools version to the matrix makes sure that asv
(run through `runtests`) locally works again.  I am not quite sure
what changed that I now run into this issue and previously do not
(and neither does the CI runner yet).

There may be a better solution, but this seems fine for now?

Closes gh-21428
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding the setuptools version to the matrix makes sure that asv
(run through `runtests`) locally works again.  I am not quite sure
what changed that I now run into this issue and previously do not
(and neither does the CI runner yet).

There may be a better solution, but this seems fine for now?

Closes gh-21428
</pre>
</div>
</content>
</entry>
<entry>
<title>BENCH: Add scalar/array mixed arithmetic cases to the benchmark</title>
<updated>2022-05-06T07:06:21+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastian@sipsolutions.net</email>
</author>
<published>2022-05-06T07:06:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=c2af30347d99d8bfcac23a7002b9229b829b9030'/>
<id>c2af30347d99d8bfcac23a7002b9229b829b9030</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT,ENH: Rewrite scalar math logic</title>
<updated>2022-04-24T19:47:50+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastian@sipsolutions.net</email>
</author>
<published>2022-03-11T23:33:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=fd9c3efc2d7c0721e537bda2538d78995d14ec7c'/>
<id>fd9c3efc2d7c0721e537bda2538d78995d14ec7c</id>
<content type='text'>
This commit tries to redo the scalar math logic to take some more
care about subclasses, but most of all introduce logic to defer
to the `other` if `self` can be cast to it safely (i.e. it is
the correct promotion).

This makes things much faster and more reliable, since we now use
defer much less to `ufuncs` indirectly.
This ensures that integer overflows are reported more reliably.

Another major point about it, is that this reorganizes the coercion
of Python int, float, complex (and bool).
This should help a bit with switching to "weak" Python scalars.

This may just be a first step on a longer path...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit tries to redo the scalar math logic to take some more
care about subclasses, but most of all introduce logic to defer
to the `other` if `self` can be cast to it safely (i.e. it is
the correct promotion).

This makes things much faster and more reliable, since we now use
defer much less to `ufuncs` indirectly.
This ensures that integer overflows are reported more reliably.

Another major point about it, is that this reorganizes the coercion
of Python int, float, complex (and bool).
This should help a bit with switching to "weak" Python scalars.

This may just be a first step on a longer path...
</pre>
</div>
</content>
</entry>
<entry>
<title>DOC: various spell checks and typo fixes (#21314)</title>
<updated>2022-04-10T09:57:42+00:00</updated>
<author>
<name>Logan Thomas</name>
<email>logan.thomas005@gmail.com</email>
</author>
<published>2022-04-10T09:57:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=b2e7534466abd6eded6b4d154fa0ea2a74369607'/>
<id>b2e7534466abd6eded6b4d154fa0ea2a74369607</id>
<content type='text'>
* DOC: contigous -&gt; contiguous

* DOC: enlongated -&gt; elongated

* DOC: thuse -&gt; thus

* DOC: quantityt -&gt; quantity

* DOC: suppled -&gt; supplied

* DOC: intgrally -&gt; integrally

* DOC: assignnent -&gt; assignment

* DOC: homoegeneous -&gt; homogeneous

* DOC: interpereted -&gt; interpreted

* DOC: optimised -&gt; optimized

* DOC: Advantanges -&gt; Advantages

* DOC: realised -&gt; realized

* DOC: parametrizing -&gt; parameterizing

* DOC: realised -&gt; realized

* DOC: intrisics -&gt; intrinsics

* DOC: ablility -&gt; ability

* DOC: intrisic -&gt; intrinsic

* DOC: unversal -&gt; universal

* DOC: machnisms -&gt; mechanisms

* DOC: specfiy -&gt; specify

* DOC: exclution -&gt; exclusion

* DOC: optimzations -&gt; optimizations

* DOC: declrations -&gt; declarations

* DOC: auto-gernreated -&gt; auto-generated

* DOC: it highely recomaned -&gt; it is highly recommended

* DOC: exectuing -&gt; executing

* DOC: strectched -&gt; stretched

* DOC: foriegn -&gt; foreign

* DOC: indeded -&gt; intended

* DOC: multimdimensional -&gt; multidimensional

* DOC: supserseded -&gt; superseded

* DOC: generalisation -&gt; generalization

* FIX: whitespace before comma</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* DOC: contigous -&gt; contiguous

* DOC: enlongated -&gt; elongated

* DOC: thuse -&gt; thus

* DOC: quantityt -&gt; quantity

* DOC: suppled -&gt; supplied

* DOC: intgrally -&gt; integrally

* DOC: assignnent -&gt; assignment

* DOC: homoegeneous -&gt; homogeneous

* DOC: interpereted -&gt; interpreted

* DOC: optimised -&gt; optimized

* DOC: Advantanges -&gt; Advantages

* DOC: realised -&gt; realized

* DOC: parametrizing -&gt; parameterizing

* DOC: realised -&gt; realized

* DOC: intrisics -&gt; intrinsics

* DOC: ablility -&gt; ability

* DOC: intrisic -&gt; intrinsic

* DOC: unversal -&gt; universal

* DOC: machnisms -&gt; mechanisms

* DOC: specfiy -&gt; specify

* DOC: exclution -&gt; exclusion

* DOC: optimzations -&gt; optimizations

* DOC: declrations -&gt; declarations

* DOC: auto-gernreated -&gt; auto-generated

* DOC: it highely recomaned -&gt; it is highly recommended

* DOC: exectuing -&gt; executing

* DOC: strectched -&gt; stretched

* DOC: foriegn -&gt; foreign

* DOC: indeded -&gt; intended

* DOC: multimdimensional -&gt; multidimensional

* DOC: supserseded -&gt; superseded

* DOC: generalisation -&gt; generalization

* FIX: whitespace before comma</pre>
</div>
</content>
</entry>
</feed>
