Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb68335d

Browse files
committed
Fix mlab fallback for 32-bit systems
Unfortunately, I applied the change from#29115 (comment)directly without noticing the typo, or running full tests.So fix the swapped condition, and add a test (for `csd` only, whichshould be enough since everything goes though `_spectral_helper`.)
1 parente7a09ac commitb68335d

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

‎lib/matplotlib/mlab.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -215,12 +215,10 @@ def _stride_windows(x, n, noverlap=0):
215215
x=np.asarray(x)
216216

217217
_api.check_isinstance(Integral,n=n,noverlap=noverlap)
218-
ifnot (1<=n<=x.sizeandn<noverlap):
219-
raiseValueError(f'n ({n}) and noverlap ({noverlap}) must be positive integers '
220-
f'with n < noverlap and n <= x.size ({x.size})')
221-
222-
ifn==1andnoverlap==0:
223-
returnx[np.newaxis]
218+
ifnot (0<=noverlap<n<=x.size):
219+
raiseValueError(
220+
f'n ({n}), noverlap ({noverlap}), and x.size ({x.size}) must satisfy '
221+
f'0 <= noverlap < n <= x.size')
224222

225223
step=n-noverlap
226224
shape= (n, (x.shape[-1]-noverlap)//step)
@@ -257,7 +255,7 @@ def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
257255
ifNFFTisNone:
258256
NFFT=256
259257

260-
ifnoverlap>=NFFT:
258+
ifnot (0<=noverlap<NFFT):
261259
raiseValueError('noverlap must be less than NFFT')
262260

263261
ifmodeisNoneormode=='default':

‎lib/matplotlib/tests/test_mlab.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
importsys
2+
13
fromnumpy.testingimport (assert_allclose,assert_almost_equal,
24
assert_array_equal,assert_array_almost_equal_nulp)
35
importnumpyasnp
@@ -429,7 +431,16 @@ def test_spectral_helper_psd(self, mode, case):
429431
assertspec.shape[0]==freqs.shape[0]
430432
assertspec.shape[1]==getattr(self,f"t_{case}").shape[0]
431433

432-
deftest_csd(self):
434+
@pytest.mark.parametrize('bitsize', [
435+
pytest.param(None,id='default'),
436+
pytest.param(32,
437+
marks=pytest.mark.skipif(sys.maxsize<=2**32,
438+
reason='System is already 32-bit'),
439+
id='32-bit')
440+
])
441+
deftest_csd(self,bitsize,monkeypatch):
442+
ifbitsizeisnotNone:
443+
monkeypatch.setattr(sys,'maxsize',2**bitsize)
433444
freqs=self.freqs_density
434445
spec,fsp=mlab.csd(x=self.y,y=self.y+1,
435446
NFFT=self.NFFT_density,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp