numpy 2.3.2__cp311-cp311-win_arm64.whl → 2.3.3__cp311-cp311-win_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of numpy might be problematic. Click here for more details.

Files changed (43) hide show
  1. numpy/__config__.py +10 -10
  2. numpy/__init__.py +4 -4
  3. numpy/__init__.pyi +189 -29
  4. numpy/_core/_multiarray_tests.cp311-win_arm64.pyd +0 -0
  5. numpy/_core/_multiarray_umath.cp311-win_arm64.pyd +0 -0
  6. numpy/_core/_operand_flag_tests.cp311-win_arm64.pyd +0 -0
  7. numpy/_core/_rational_tests.cp311-win_arm64.pyd +0 -0
  8. numpy/_core/_simd.cp311-win_arm64.pyd +0 -0
  9. numpy/_core/_struct_ufunc_tests.cp311-win_arm64.pyd +0 -0
  10. numpy/_core/_umath_tests.cp311-win_arm64.pyd +0 -0
  11. numpy/_core/lib/libnpymath.a +0 -0
  12. numpy/_core/lib/pkgconfig/numpy.pc +1 -1
  13. numpy/_core/tests/test_datetime.py +24 -0
  14. numpy/_core/tests/test_stringdtype.py +7 -0
  15. numpy/_typing/_callable.pyi +4 -91
  16. numpy/distutils/__pycache__/conv_template.cpython-311.pyc +0 -0
  17. numpy/fft/_pocketfft_umath.cp311-win_arm64.pyd +0 -0
  18. numpy/lib/_arraysetops_impl.pyi +24 -0
  19. numpy/linalg/_linalg.py +1 -0
  20. numpy/linalg/_umath_linalg.cp311-win_arm64.pyd +0 -0
  21. numpy/linalg/lapack_lite.cp311-win_arm64.pyd +0 -0
  22. numpy/linalg/tests/test_linalg.py +14 -1
  23. numpy/random/_bounded_integers.cp311-win_arm64.pyd +0 -0
  24. numpy/random/_common.cp311-win_arm64.pyd +0 -0
  25. numpy/random/_generator.cp311-win_arm64.pyd +0 -0
  26. numpy/random/_mt19937.cp311-win_arm64.pyd +0 -0
  27. numpy/random/_pcg64.cp311-win_arm64.pyd +0 -0
  28. numpy/random/_philox.cp311-win_arm64.pyd +0 -0
  29. numpy/random/_sfc64.cp311-win_arm64.pyd +0 -0
  30. numpy/random/bit_generator.cp311-win_arm64.pyd +0 -0
  31. numpy/random/lib/libnpyrandom.a +0 -0
  32. numpy/random/mtrand.cp311-win_arm64.pyd +0 -0
  33. numpy/tests/test_configtool.py +1 -1
  34. numpy/typing/tests/data/fail/arithmetic.pyi +1 -1
  35. numpy/typing/tests/data/fail/bitwise_ops.pyi +1 -1
  36. numpy/version.py +2 -2
  37. numpy-2.3.3.dist-info/DELVEWHEEL +2 -0
  38. {numpy-2.3.2.dist-info → numpy-2.3.3.dist-info}/LICENSE.txt +881 -881
  39. {numpy-2.3.2.dist-info → numpy-2.3.3.dist-info}/METADATA +1 -1
  40. {numpy-2.3.2.dist-info → numpy-2.3.3.dist-info}/RECORD +42 -42
  41. numpy-2.3.2.dist-info/DELVEWHEEL +0 -2
  42. {numpy-2.3.2.dist-info → numpy-2.3.3.dist-info}/WHEEL +0 -0
  43. {numpy-2.3.2.dist-info → numpy-2.3.3.dist-info}/entry_points.txt +0 -0
@@ -102,6 +102,7 @@ def unique(
102
102
  axis: SupportsIndex | None = None,
103
103
  *,
104
104
  equal_nan: bool = True,
105
+ sorted: bool = True,
105
106
  ) -> NDArray[_ScalarT]: ...
106
107
  @overload # unknown scalar-type, FFF
107
108
  def unique(
@@ -112,6 +113,7 @@ def unique(
112
113
  axis: SupportsIndex | None = None,
113
114
  *,
114
115
  equal_nan: bool = True,
116
+ sorted: bool = True,
115
117
  ) -> _AnyArray: ...
116
118
  @overload # known scalar-type, TFF
117
119
  def unique(
@@ -122,6 +124,7 @@ def unique(
122
124
  axis: SupportsIndex | None = None,
123
125
  *,
124
126
  equal_nan: bool = True,
127
+ sorted: bool = True,
125
128
  ) -> tuple[NDArray[_ScalarT], _IntArray]: ...
126
129
  @overload # unknown scalar-type, TFF
127
130
  def unique(
@@ -132,6 +135,7 @@ def unique(
132
135
  axis: SupportsIndex | None = None,
133
136
  *,
134
137
  equal_nan: bool = True,
138
+ sorted: bool = True,
135
139
  ) -> tuple[_AnyArray, _IntArray]: ...
136
140
  @overload # known scalar-type, FTF (positional)
137
141
  def unique(
@@ -142,6 +146,7 @@ def unique(
142
146
  axis: SupportsIndex | None = None,
143
147
  *,
144
148
  equal_nan: bool = True,
149
+ sorted: bool = True,
145
150
  ) -> tuple[NDArray[_ScalarT], _IntArray]: ...
146
151
  @overload # known scalar-type, FTF (keyword)
147
152
  def unique(
@@ -152,6 +157,7 @@ def unique(
152
157
  return_counts: L[False] = False,
153
158
  axis: SupportsIndex | None = None,
154
159
  equal_nan: bool = True,
160
+ sorted: bool = True,
155
161
  ) -> tuple[NDArray[_ScalarT], _IntArray]: ...
156
162
  @overload # unknown scalar-type, FTF (positional)
157
163
  def unique(
@@ -162,6 +168,7 @@ def unique(
162
168
  axis: SupportsIndex | None = None,
163
169
  *,
164
170
  equal_nan: bool = True,
171
+ sorted: bool = True,
165
172
  ) -> tuple[_AnyArray, _IntArray]: ...
166
173
  @overload # unknown scalar-type, FTF (keyword)
167
174
  def unique(
@@ -172,6 +179,7 @@ def unique(
172
179
  return_counts: L[False] = False,
173
180
  axis: SupportsIndex | None = None,
174
181
  equal_nan: bool = True,
182
+ sorted: bool = True,
175
183
  ) -> tuple[_AnyArray, _IntArray]: ...
176
184
  @overload # known scalar-type, FFT (positional)
177
185
  def unique(
@@ -182,6 +190,7 @@ def unique(
182
190
  axis: SupportsIndex | None = None,
183
191
  *,
184
192
  equal_nan: bool = True,
193
+ sorted: bool = True,
185
194
  ) -> tuple[NDArray[_ScalarT], _IntArray]: ...
186
195
  @overload # known scalar-type, FFT (keyword)
187
196
  def unique(
@@ -192,6 +201,7 @@ def unique(
192
201
  return_counts: L[True],
193
202
  axis: SupportsIndex | None = None,
194
203
  equal_nan: bool = True,
204
+ sorted: bool = True,
195
205
  ) -> tuple[NDArray[_ScalarT], _IntArray]: ...
196
206
  @overload # unknown scalar-type, FFT (positional)
197
207
  def unique(
@@ -202,6 +212,7 @@ def unique(
202
212
  axis: SupportsIndex | None = None,
203
213
  *,
204
214
  equal_nan: bool = True,
215
+ sorted: bool = True,
205
216
  ) -> tuple[_AnyArray, _IntArray]: ...
206
217
  @overload # unknown scalar-type, FFT (keyword)
207
218
  def unique(
@@ -212,6 +223,7 @@ def unique(
212
223
  return_counts: L[True],
213
224
  axis: SupportsIndex | None = None,
214
225
  equal_nan: bool = True,
226
+ sorted: bool = True,
215
227
  ) -> tuple[_AnyArray, _IntArray]: ...
216
228
  @overload # known scalar-type, TTF
217
229
  def unique(
@@ -222,6 +234,7 @@ def unique(
222
234
  axis: SupportsIndex | None = None,
223
235
  *,
224
236
  equal_nan: bool = True,
237
+ sorted: bool = True,
225
238
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray]: ...
226
239
  @overload # unknown scalar-type, TTF
227
240
  def unique(
@@ -232,6 +245,7 @@ def unique(
232
245
  axis: SupportsIndex | None = None,
233
246
  *,
234
247
  equal_nan: bool = True,
248
+ sorted: bool = True,
235
249
  ) -> tuple[_AnyArray, _IntArray, _IntArray]: ...
236
250
  @overload # known scalar-type, TFT (positional)
237
251
  def unique(
@@ -242,6 +256,7 @@ def unique(
242
256
  axis: SupportsIndex | None = None,
243
257
  *,
244
258
  equal_nan: bool = True,
259
+ sorted: bool = True,
245
260
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray]: ...
246
261
  @overload # known scalar-type, TFT (keyword)
247
262
  def unique(
@@ -252,6 +267,7 @@ def unique(
252
267
  return_counts: L[True],
253
268
  axis: SupportsIndex | None = None,
254
269
  equal_nan: bool = True,
270
+ sorted: bool = True,
255
271
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray]: ...
256
272
  @overload # unknown scalar-type, TFT (positional)
257
273
  def unique(
@@ -262,6 +278,7 @@ def unique(
262
278
  axis: SupportsIndex | None = None,
263
279
  *,
264
280
  equal_nan: bool = True,
281
+ sorted: bool = True,
265
282
  ) -> tuple[_AnyArray, _IntArray, _IntArray]: ...
266
283
  @overload # unknown scalar-type, TFT (keyword)
267
284
  def unique(
@@ -272,6 +289,7 @@ def unique(
272
289
  return_counts: L[True],
273
290
  axis: SupportsIndex | None = None,
274
291
  equal_nan: bool = True,
292
+ sorted: bool = True,
275
293
  ) -> tuple[_AnyArray, _IntArray, _IntArray]: ...
276
294
  @overload # known scalar-type, FTT (positional)
277
295
  def unique(
@@ -282,6 +300,7 @@ def unique(
282
300
  axis: SupportsIndex | None = None,
283
301
  *,
284
302
  equal_nan: bool = True,
303
+ sorted: bool = True,
285
304
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray]: ...
286
305
  @overload # known scalar-type, FTT (keyword)
287
306
  def unique(
@@ -292,6 +311,7 @@ def unique(
292
311
  return_counts: L[True],
293
312
  axis: SupportsIndex | None = None,
294
313
  equal_nan: bool = True,
314
+ sorted: bool = True,
295
315
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray]: ...
296
316
  @overload # unknown scalar-type, FTT (positional)
297
317
  def unique(
@@ -302,6 +322,7 @@ def unique(
302
322
  axis: SupportsIndex | None = None,
303
323
  *,
304
324
  equal_nan: bool = True,
325
+ sorted: bool = True,
305
326
  ) -> tuple[_AnyArray, _IntArray, _IntArray]: ...
306
327
  @overload # unknown scalar-type, FTT (keyword)
307
328
  def unique(
@@ -312,6 +333,7 @@ def unique(
312
333
  return_counts: L[True],
313
334
  axis: SupportsIndex | None = None,
314
335
  equal_nan: bool = True,
336
+ sorted: bool = True,
315
337
  ) -> tuple[_AnyArray, _IntArray, _IntArray]: ...
316
338
  @overload # known scalar-type, TTT
317
339
  def unique(
@@ -322,6 +344,7 @@ def unique(
322
344
  axis: SupportsIndex | None = None,
323
345
  *,
324
346
  equal_nan: bool = True,
347
+ sorted: bool = True,
325
348
  ) -> tuple[NDArray[_ScalarT], _IntArray, _IntArray, _IntArray]: ...
326
349
  @overload # unknown scalar-type, TTT
327
350
  def unique(
@@ -332,6 +355,7 @@ def unique(
332
355
  axis: SupportsIndex | None = None,
333
356
  *,
334
357
  equal_nan: bool = True,
358
+ sorted: bool = True,
335
359
  ) -> tuple[_AnyArray, _IntArray, _IntArray, _IntArray]: ...
336
360
 
337
361
  #
numpy/linalg/_linalg.py CHANGED
@@ -2029,6 +2029,7 @@ def cond(x, p=None):
2029
2029
  # contain nans in the entries where inversion failed.
2030
2030
  _assert_stacked_square(x)
2031
2031
  t, result_t = _commonType(x)
2032
+ result_t = _realType(result_t) # condition number is always real
2032
2033
  signature = 'D->D' if isComplexType(t) else 'd->d'
2033
2034
  with errstate(all='ignore'):
2034
2035
  invx = _umath_linalg.inv(x, signature=signature)
@@ -793,15 +793,28 @@ class CondCases(LinalgSquareTestCase, LinalgGeneralizedSquareTestCase):
793
793
 
794
794
 
795
795
  class TestCond(CondCases):
796
- def test_basic_nonsvd(self):
796
+ @pytest.mark.parametrize('is_complex', [False, True])
797
+ def test_basic_nonsvd(self, is_complex):
797
798
  # Smoketest the non-svd norms
798
799
  A = array([[1., 0, 1], [0, -2., 0], [0, 0, 3.]])
800
+ if is_complex:
801
+ # Since A is linearly scaled, the condition number should not change
802
+ A = A * (1 + 1j)
799
803
  assert_almost_equal(linalg.cond(A, inf), 4)
800
804
  assert_almost_equal(linalg.cond(A, -inf), 2 / 3)
801
805
  assert_almost_equal(linalg.cond(A, 1), 4)
802
806
  assert_almost_equal(linalg.cond(A, -1), 0.5)
803
807
  assert_almost_equal(linalg.cond(A, 'fro'), np.sqrt(265 / 12))
804
808
 
809
+ @pytest.mark.parametrize('dtype', [single, double, csingle, cdouble])
810
+ @pytest.mark.parametrize('norm_ord', [1, -1, 2, -2, 'fro', np.inf, -np.inf])
811
+ def test_cond_dtypes(self, dtype, norm_ord):
812
+ # Check that the condition number is computed in the same dtype
813
+ # as the input matrix
814
+ A = array([[1., 0, 1], [0, -2., 0], [0, 0, 3.]], dtype=dtype)
815
+ out_type = get_real_dtype(dtype)
816
+ assert_equal(linalg.cond(A, p=norm_ord).dtype, out_type)
817
+
805
818
  def test_singular(self):
806
819
  # Singular matrices have infinite condition number for
807
820
  # positive norms, and negative norms shouldn't raise
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -33,7 +33,7 @@ class TestNumpyConfig:
33
33
 
34
34
  def test_configtool_pkgconfigdir(self):
35
35
  stdout = self.check_numpyconfig('--pkgconfigdir')
36
- assert pathlib.Path(stdout) == PKG_CONFIG_DIR
36
+ assert pathlib.Path(stdout) == PKG_CONFIG_DIR.resolve()
37
37
 
38
38
 
39
39
  @pytest.mark.skipif(not IS_INSTALLED, reason="numpy must be installed to check its entrypoints")
@@ -114,7 +114,7 @@ AR_f **= AR_LIKE_c # type: ignore[arg-type]
114
114
 
115
115
  # Scalars
116
116
 
117
- b_ - b_ # type: ignore[call-overload]
117
+ b_ - b_ # type: ignore[operator]
118
118
 
119
119
  dt + dt # type: ignore[operator]
120
120
  td - dt # type: ignore[operator]
@@ -8,7 +8,7 @@ i = int()
8
8
 
9
9
  f8 = np.float64()
10
10
 
11
- b_ >> f8 # type: ignore[call-overload]
11
+ b_ >> f8 # type: ignore[operator]
12
12
  i8 << f8 # type: ignore[call-overload]
13
13
  i | f8 # type: ignore[operator]
14
14
  i8 ^ f8 # type: ignore[call-overload]
numpy/version.py CHANGED
@@ -2,10 +2,10 @@
2
2
  """
3
3
  Module to expose more detailed version info for the installed `numpy`
4
4
  """
5
- version = "2.3.2"
5
+ version = "2.3.3"
6
6
  __version__ = version
7
7
  full_version = version
8
8
 
9
- git_revision = "bc5e4f811db9487a9ea1618ffb77a33b3919bb8e"
9
+ git_revision = "f2a77a76e08719556527e0819182073fe9b5f1c3"
10
10
  release = 'dev' not in version and '+' not in version
11
11
  short_version = version.split("+")[0]
@@ -0,0 +1,2 @@
1
+ Version: 1.11.1
2
+ Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-23z_h75a\\cp311-win_arm64\\build\\venv\\Scripts\\delvewheel', 'repair', '--add-path', 'C:/a/numpy-release/numpy-release/.openblas/lib', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-23z_h75a\\cp311-win_arm64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-23z_h75a\\cp311-win_arm64\\built_wheel\\numpy-2.3.3-cp311-cp311-win_arm64.whl']