Skip to content

Commit 84acb20

Browse files
committed
🏷️ spatial: stub the remaining private modules
1 parent c85b294 commit 84acb20

File tree

4 files changed

+210
-0
lines changed

4 files changed

+210
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# defined in scipy/spatial/src/distance_pybind.cpp
2+
3+
from typing import Any
4+
5+
import numpy as np
6+
import optype.numpy as onp
7+
import optype.numpy.compat as npc
8+
9+
def cdist_braycurtis(
10+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
11+
) -> onp.ArrayND[np.float64 | Any]: ...
12+
def cdist_canberra(
13+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
14+
) -> onp.ArrayND[np.float64 | Any]: ...
15+
def cdist_chebyshev(
16+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
17+
) -> onp.ArrayND[np.float64 | Any]: ...
18+
def cdist_cityblock(
19+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
20+
) -> onp.ArrayND[np.float64 | Any]: ...
21+
def cdist_dice(
22+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
23+
) -> onp.ArrayND[np.float64 | Any]: ...
24+
def cdist_euclidean(
25+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
26+
) -> onp.ArrayND[np.float64 | Any]: ...
27+
def cdist_hamming(
28+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
29+
) -> onp.ArrayND[np.float64 | Any]: ...
30+
def cdist_jaccard(
31+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
32+
) -> onp.ArrayND[np.float64 | Any]: ...
33+
def cdist_kulczynski1(
34+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
35+
) -> onp.ArrayND[np.float64 | Any]: ...
36+
def cdist_minkowski(
37+
x: onp.ToComplex2D,
38+
y: onp.ToComplex2D,
39+
w: onp.ToFloat1D | None = None,
40+
out: onp.ArrayND[npc.inexact] | None = None,
41+
p: float = ...,
42+
) -> onp.ArrayND[np.float64 | Any]: ...
43+
def cdist_rogerstanimoto(
44+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
45+
) -> onp.ArrayND[np.float64 | Any]: ...
46+
def cdist_russellrao(
47+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
48+
) -> onp.ArrayND[np.float64 | Any]: ...
49+
def cdist_sokalmichener(
50+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
51+
) -> onp.ArrayND[np.float64 | Any]: ...
52+
def cdist_sokalsneath(
53+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
54+
) -> onp.ArrayND[np.float64 | Any]: ...
55+
def cdist_sqeuclidean(
56+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
57+
) -> onp.ArrayND[np.float64 | Any]: ...
58+
def cdist_yule(
59+
x: onp.ToComplex2D, y: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
60+
) -> onp.ArrayND[np.float64 | Any]: ...
61+
62+
#
63+
def pdist_braycurtis(
64+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
65+
) -> onp.ArrayND[np.float64 | Any]: ...
66+
def pdist_canberra(
67+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
68+
) -> onp.ArrayND[np.float64 | Any]: ...
69+
def pdist_chebyshev(
70+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
71+
) -> onp.ArrayND[np.float64 | Any]: ...
72+
def pdist_cityblock(
73+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
74+
) -> onp.ArrayND[np.float64 | Any]: ...
75+
def pdist_dice(
76+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
77+
) -> onp.ArrayND[np.float64 | Any]: ...
78+
def pdist_euclidean(
79+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
80+
) -> onp.ArrayND[np.float64 | Any]: ...
81+
def pdist_hamming(
82+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
83+
) -> onp.ArrayND[np.float64 | Any]: ...
84+
def pdist_jaccard(
85+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
86+
) -> onp.ArrayND[np.float64 | Any]: ...
87+
def pdist_kulczynski1(
88+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
89+
) -> onp.ArrayND[np.float64 | Any]: ...
90+
def pdist_minkowski(
91+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None, p: float = ...
92+
) -> onp.ArrayND[np.float64 | Any]: ...
93+
def pdist_rogerstanimoto(
94+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
95+
) -> onp.ArrayND[np.float64 | Any]: ...
96+
def pdist_russellrao(
97+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
98+
) -> onp.ArrayND[np.float64 | Any]: ...
99+
def pdist_sokalmichener(
100+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
101+
) -> onp.ArrayND[np.float64 | Any]: ...
102+
def pdist_sokalsneath(
103+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
104+
) -> onp.ArrayND[np.float64 | Any]: ...
105+
def pdist_sqeuclidean(
106+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
107+
) -> onp.ArrayND[np.float64 | Any]: ...
108+
def pdist_yule(
109+
x: onp.ToComplex2D, w: onp.ToFloat1D | None = None, out: onp.ArrayND[npc.inexact] | None = None
110+
) -> onp.ArrayND[np.float64 | Any]: ...
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# defined in scipy/spatial/src/distance_wrap.c
2+
3+
from typing import TypeAlias
4+
5+
import numpy as np
6+
import optype.numpy as onp
7+
8+
_DoubleND: TypeAlias = onp.ArrayND[np.float64]
9+
_Double1D: TypeAlias = onp.Array1D[np.float64]
10+
_Double2D: TypeAlias = onp.Array2D[np.float64]
11+
_BoolND: TypeAlias = onp.ArrayND[np.bool_]
12+
_Bool1D: TypeAlias = onp.Array1D[np.bool_]
13+
_Bool2D: TypeAlias = onp.Array2D[np.bool_]
14+
15+
###
16+
# NOTE: These all return 0.0, and write the result to `dm`.
17+
18+
def cdist_braycurtis_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
19+
def cdist_canberra_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
20+
def cdist_chebyshev_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
21+
def cdist_cityblock_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
22+
def cdist_cosine_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
23+
def cdist_euclidean_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
24+
def cdist_hamming_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, w: _DoubleND) -> float: ...
25+
def cdist_jaccard_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
26+
def cdist_jensenshannon_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
27+
def cdist_mahalanobis_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, VI: _DoubleND) -> float: ...
28+
def cdist_minkowski_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, p: float) -> float: ...
29+
def cdist_seuclidean_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, V: _DoubleND) -> float: ...
30+
def cdist_sqeuclidean_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND) -> float: ...
31+
def cdist_weighted_chebyshev_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, w: _DoubleND) -> float: ...
32+
def cdist_weighted_minkowski_double_wrap(XA: _DoubleND, XB: _DoubleND, dm: _DoubleND, p: float, w: _DoubleND) -> float: ...
33+
34+
#
35+
def cdist_dice_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
36+
def cdist_hamming_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND, w: _DoubleND) -> float: ...
37+
def cdist_jaccard_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
38+
def cdist_kulczynski1_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
39+
def cdist_rogerstanimoto_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
40+
def cdist_russellrao_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
41+
def cdist_sokalmichener_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
42+
def cdist_sokalsneath_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
43+
def cdist_yule_bool_wrap(XA: _BoolND, XB: _BoolND, dm: _DoubleND) -> float: ...
44+
45+
#
46+
def pdist_braycurtis_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
47+
def pdist_canberra_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
48+
def pdist_chebyshev_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
49+
def pdist_cityblock_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
50+
def pdist_cosine_double_wrap(X: _Double2D, dm: _Double2D) -> float: ...
51+
def pdist_euclidean_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
52+
def pdist_hamming_double_wrap(X: _Double2D, dm: _Double2D, w: _DoubleND) -> float: ...
53+
def pdist_jaccard_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
54+
def pdist_jensenshannon_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
55+
def pdist_mahalanobis_double_wrap(X: _Double2D, dm: _Double2D, VI: _Double2D) -> float: ...
56+
def pdist_minkowski_double_wrap(X: _Double2D, dm: _Double2D, p: float) -> float: ...
57+
def pdist_seuclidean_double_wrap(X: _Double2D, dm: _Double2D, V: _DoubleND) -> float: ...
58+
def pdist_sqeuclidean_double_wrap(X: _Double2D, dm: _Double2D, /) -> float: ...
59+
def pdist_weighted_chebyshev_double_wrap(X: _Double2D, dm: _Double2D, w: _DoubleND) -> float: ...
60+
def pdist_weighted_minkowski_double_wrap(X: _Double2D, dm: _Double2D, p: float, w: _DoubleND) -> float: ...
61+
62+
#
63+
def pdist_dice_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
64+
def pdist_hamming_bool_wrap(X: _Bool2D, dm: _Double2D, w: _DoubleND) -> float: ...
65+
def pdist_jaccard_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
66+
def pdist_kulczynski1_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
67+
def pdist_rogerstanimoto_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
68+
def pdist_russellrao_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
69+
def pdist_sokalmichener_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
70+
def pdist_sokalsneath_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
71+
def pdist_yule_bool_wrap(X: _Bool2D, dm: _Double2D, /) -> float: ...
72+
73+
###
74+
75+
def to_squareform_from_vector_wrap(M: _Double2D | _Bool2D, v: _Double1D | _Bool1D, /) -> None: ...
76+
def to_vector_from_squareform_wrap(M: _Double2D | _Bool2D, v: _Double1D | _Bool1D, /) -> None: ...

scipy-stubs/spatial/_hausdorff.pyi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# defined in scipy/spatial/_hausdorff.pyx
2+
3+
import numpy as np
4+
import optype.numpy as onp
5+
6+
__all__ = ["directed_hausdorff"]
7+
8+
def directed_hausdorff(
9+
ar1: onp.Array2D[np.float64], ar2: onp.Array2D[np.float64], seed: onp.random.ToRNG = 0
10+
) -> tuple[float | complex, np.int64, np.int64]: ...
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from typing import Literal, TypeVar
2+
3+
from ._rotation import Rotation
4+
5+
_RotationT = TypeVar("_RotationT", bound=Rotation)
6+
7+
def icosahedral(cls: type[_RotationT]) -> _RotationT: ...
8+
def octahedral(cls: type[_RotationT]) -> _RotationT: ...
9+
def tetrahedral(cls: type[_RotationT]) -> _RotationT: ...
10+
def dicyclic(cls: type[_RotationT], n: int, axis: int = 2) -> _RotationT: ...
11+
def cyclic(cls: type[_RotationT], n: int, axis: int = 2) -> _RotationT: ...
12+
def create_group(
13+
cls: type[_RotationT], group: Literal["I", "O", "T", "Dn", "Cn"], axis: Literal["x", "y", "z", "X", "Y", "Z"] = "Z"
14+
) -> _RotationT: ...

0 commit comments

Comments
 (0)