Skip to content

Commit 8a3965a

Browse files
committed
signal.windows: Allow ndarrays for a param in general_cosine.
In `_windows.pyi`. This is because `ndarray` is not a `Sequence`.
1 parent 69cc2ea commit 8a3965a

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

scipy-stubs/signal/windows/_windows.pyi

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from collections.abc import Sequence
2-
from typing import Literal, TypeAlias, overload
2+
from typing import Any, Literal, TypeAlias, overload
33
from typing_extensions import Unpack
44

55
import numpy as np
@@ -37,6 +37,12 @@ __all__ = [
3737

3838
_Array_f8_1d: TypeAlias = np.ndarray[tuple[int], np.dtype[np.float64]]
3939
_Array_f8_2d: TypeAlias = np.ndarray[tuple[int, int], np.dtype[np.float64]]
40+
_Weights: TypeAlias = (
41+
Sequence[AnyReal]
42+
| np.ndarray[tuple[int], np.dtype[np.floating[Any]]]
43+
| np.ndarray[tuple[int], np.dtype[np.integer[Any]]]
44+
| np.ndarray[tuple[int], np.dtype[np.bool_]]
45+
)
4046

4147
_Norm: TypeAlias = Literal[2, "approximate", "subsample"]
4248
_WindowLength: TypeAlias = int | np.int16 | np.int32 | np.int64
@@ -111,7 +117,7 @@ _WindowNeedsParams: TypeAlias = Literal[
111117
"kbd",
112118
]
113119

114-
def general_cosine(M: _WindowLength, a: Sequence[AnyReal], sym: op.CanBool = True) -> _Array_f8_1d: ...
120+
def general_cosine(M: _WindowLength, a: _Weights, sym: op.CanBool = True) -> _Array_f8_1d: ...
115121
def boxcar(M: _WindowLength, sym: op.CanBool = True) -> _Array_f8_1d: ...
116122
def triang(M: _WindowLength, sym: op.CanBool = True) -> _Array_f8_1d: ...
117123
def parzen(M: _WindowLength, sym: op.CanBool = True) -> _Array_f8_1d: ...

0 commit comments

Comments
 (0)