<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/core/include, branch main</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>Merge pull request #23505 from cbrt64/fix-2256</title>
<updated>2023-05-17T17:38:41+00:00</updated>
<author>
<name>Matti Picus</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2023-05-17T17:38:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=d9b38d687cd513aa6688f7fba805a908c0ac3979'/>
<id>d9b38d687cd513aa6688f7fba805a908c0ac3979</id>
<content type='text'>
BUG: Use 2GiB chunking code for fwrite() on mingw32/64</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BUG: Use 2GiB chunking code for fwrite() on mingw32/64</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #23528 from seberg/allow-backcomp-builds</title>
<updated>2023-04-28T11:02:40+00:00</updated>
<author>
<name>Matti Picus</name>
<email>matti.picus@gmail.com</email>
</author>
<published>2023-04-28T11:02:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=46055823a517d9e53918cb9b4495d05633ff6f35'/>
<id>46055823a517d9e53918cb9b4495d05633ff6f35</id>
<content type='text'>
ENH: Allow, and default to, downstream building with old API</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ENH: Allow, and default to, downstream building with old API</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: float64 sin/cos using Numpy intrinsics (#23399)</title>
<updated>2023-04-25T16:56:37+00:00</updated>
<author>
<name>Christopher Sidebottom</name>
<email>chris.sidebottom@arm.com</email>
</author>
<published>2023-04-25T16:56:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=fe5472fa4eae131ff9646d7c980c6c4081c10386'/>
<id>fe5472fa4eae131ff9646d7c980c6c4081c10386</id>
<content type='text'>
This takes the [sin](https://github.com/ARM-software/optimized-routines/blob/master/math/v_sin.c) and [cos](https://github.com/ARM-software/optimized-routines/blob/master/math/v_cos.c) algorithms from Optimized Routines under MIT license, and converts them to Numpy intrinsics.

The routines are within the ULP boundaries of other vectorised math routines (&lt;4ULP). The routines reduce performance in some special cases but improves normal cases. Comparing to the SVML implementation, these routines are more performant in special cases, we're therefore safe to assume the performance is acceptable for AArch64 as well.

| performance ratio (lower is better)  | benchmark |
| ----  | ---- |
| 1.8   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	2	'd') |
| 1.79  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	4	'd') |
| 1.77  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	1	'd') |
| 1.74  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	2	'd') |
| 1.74  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	4	'd') |
| 1.72  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	1	'd') |
| 1.6   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	2	'd') |
| 1.6   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	4	'd') |
| 1.56  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	1	'd') |
| 1.42  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	2	'd') |
| 1.41  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	4	'd') |
| 1.37  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	1	'd') |
| 1.26  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	2	'd') |
| 1.26  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	4	'd') |
| 1.2   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	1	'd') |
| 1.18  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	2	'd') |
| 1.18  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	4	'd') |
| 1.12  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	1	'd') |
| 0.65  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	2	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	4	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	4	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	2	'd') |
| 0.61  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	4	'd') |
| 0.61  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	2	'd') |
| 0.6   | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	1	'd') |
| 0.6   | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	1	'd') |
| 0.56  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	1	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	2	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	4	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	4	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	2	'd') |
| 0.47  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	4	'd') |
| 0.47  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	2	'd') |
| 0.46  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	1	'd') |
| 0.46  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	1	'd') |
| 0.42  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	1	'd') |

Co-authored-by: Pierre Blanchard &lt;Pierre.Blanchard@arm.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This takes the [sin](https://github.com/ARM-software/optimized-routines/blob/master/math/v_sin.c) and [cos](https://github.com/ARM-software/optimized-routines/blob/master/math/v_cos.c) algorithms from Optimized Routines under MIT license, and converts them to Numpy intrinsics.

The routines are within the ULP boundaries of other vectorised math routines (&lt;4ULP). The routines reduce performance in some special cases but improves normal cases. Comparing to the SVML implementation, these routines are more performant in special cases, we're therefore safe to assume the performance is acceptable for AArch64 as well.

| performance ratio (lower is better)  | benchmark |
| ----  | ---- |
| 1.8   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	2	'd') |
| 1.79  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	4	'd') |
| 1.77  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	4	1	'd') |
| 1.74  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	2	'd') |
| 1.74  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	4	'd') |
| 1.72  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	2	1	'd') |
| 1.6   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	2	'd') |
| 1.6   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	4	'd') |
| 1.56  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'cos'&gt;	1	1	'd') |
| 1.42  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	2	'd') |
| 1.41  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	4	'd') |
| 1.37  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	2	1	'd') |
| 1.26  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	2	'd') |
| 1.26  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	4	'd') |
| 1.2   | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	4	1	'd') |
| 1.18  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	2	'd') |
| 1.18  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	4	'd') |
| 1.12  | bench_ufunc_strides.UnaryFPSpecial.time_unary(&lt;ufunc	'sin'&gt;	1	1	'd') |
| 0.65  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	2	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	4	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	4	'd') |
| 0.64  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	2	'd') |
| 0.61  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	4	'd') |
| 0.61  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	2	'd') |
| 0.6   | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	2	1	'd') |
| 0.6   | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	4	1	'd') |
| 0.56  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'cos'&gt;	1	1	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	2	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	4	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	4	'd') |
| 0.52  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	2	'd') |
| 0.47  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	4	'd') |
| 0.47  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	2	'd') |
| 0.46  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	4	1	'd') |
| 0.46  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	2	1	'd') |
| 0.42  | bench_ufunc_strides.UnaryFP.time_unary(&lt;ufunc	'sin'&gt;	1	1	'd') |

Co-authored-by: Pierre Blanchard &lt;Pierre.Blanchard@arm.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>DOC: Align default with what the NEP draft says</title>
<updated>2023-04-25T09:18:04+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastianb@nvidia.com</email>
</author>
<published>2023-04-25T08:49:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=c62881fa55fc830d16ac46bb1b91663266a8d94f'/>
<id>c62881fa55fc830d16ac46bb1b91663266a8d94f</id>
<content type='text'>
We have three choices:
1. Be compatible with limited API (oldest supported Python version)
2. Be compatible with everything on the same Python version (this)
3. Be strict and default to NEP 29

This just rephrases things to be 2.  Because our API version was not
bumped over the relevant time frame, it is actually also compatible
with the first.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have three choices:
1. Be compatible with limited API (oldest supported Python version)
2. Be compatible with everything on the same Python version (this)
3. Be strict and default to NEP 29

This just rephrases things to be 2.  Because our API version was not
bumped over the relevant time frame, it is actually also compatible
with the first.
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: refactor zero-filling to use a traversal loop</title>
<updated>2023-04-18T17:11:51+00:00</updated>
<author>
<name>Nathan Goldbaum</name>
<email>nathan.goldbaum@gmail.com</email>
</author>
<published>2023-04-18T14:58:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=f8babe2788a8be941e4b1588d4f3c0bd9b0621c3'/>
<id>f8babe2788a8be941e4b1588d4f3c0bd9b0621c3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Refactor special zero-filling to be managed by the DType</title>
<updated>2023-04-18T17:03:54+00:00</updated>
<author>
<name>Nathan Goldbaum</name>
<email>nathan.goldbaum@gmail.com</email>
</author>
<published>2023-04-14T19:20:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=726676a21ac4661e81ecdb4a236324f5740500ae'/>
<id>726676a21ac4661e81ecdb4a236324f5740500ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MAINT: correct typos in dtype API documentation comments</title>
<updated>2023-04-18T17:03:54+00:00</updated>
<author>
<name>Nathan Goldbaum</name>
<email>nathan.goldbaum@gmail.com</email>
</author>
<published>2023-04-14T18:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=8a428fdef4933edc0a74528bf51fedd3aab3f7c1'/>
<id>8a428fdef4933edc0a74528bf51fedd3aab3f7c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tweak to just warn for low versions</title>
<updated>2023-04-06T15:43:37+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastianb@nvidia.com</email>
</author>
<published>2023-04-06T15:43:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=66ccd52bb19093be6725a3fc672feeaf727ac299'/>
<id>66ccd52bb19093be6725a3fc672feeaf727ac299</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: Fix typo in new version checks</title>
<updated>2023-04-04T15:43:45+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastianb@nvidia.com</email>
</author>
<published>2023-04-04T15:43:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=5c09dea8dc68bd54d7743557cae1d6409b07da92'/>
<id>5c09dea8dc68bd54d7743557cae1d6409b07da92</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: Allow compiling compatibly to old NumPy versions</title>
<updated>2023-04-04T15:17:17+00:00</updated>
<author>
<name>Sebastian Berg</name>
<email>sebastianb@nvidia.com</email>
</author>
<published>2023-04-04T14:46:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/numpy.git/commit/?id=3a811358830c324b7b6819b88dec4e4bcd91444a'/>
<id>3a811358830c324b7b6819b88dec4e4bcd91444a</id>
<content type='text'>
The default compiles compatibly with 1.17.x, we allow going back to
1.15 (mainly because it is easy).

There were few additions in this time, a few structs grew and very
few API functions were added.  Added a way to mark API functions
as requiring a specific target version.

If a user wishes to use the *new* API, they have to add the definition:

    #define NPY_TARGET_VERSION NPY_1_22_API_VERSION

Before importing NumPy.  (Our version numbering is a bit funny
I first thought to use a hex version of the main NumPy version,
but since we already have the `NPY_1_22_API_VERSION` defines...)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The default compiles compatibly with 1.17.x, we allow going back to
1.15 (mainly because it is easy).

There were few additions in this time, a few structs grew and very
few API functions were added.  Added a way to mark API functions
as requiring a specific target version.

If a user wishes to use the *new* API, they have to add the definition:

    #define NPY_TARGET_VERSION NPY_1_22_API_VERSION

Before importing NumPy.  (Our version numbering is a bit funny
I first thought to use a hex version of the main NumPy version,
but since we already have the `NPY_1_22_API_VERSION` defines...)
</pre>
</div>
</content>
</entry>
</feed>
