Skip to content

Commit f0cbfae

Browse files
committed
update different modules to consider the change in core.check_window_size
1 parent 8bff40b commit f0cbfae

File tree

8 files changed

+42
-11
lines changed

8 files changed

+42
-11
lines changed

stumpy/gpu_aamp.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,8 +536,13 @@ def gpu_aamp(T_A, m, T_B=None, ignore_trivial=True, device_id=0, p=2.0, k=1):
536536
"For multidimensional STUMP use `stumpy.mstump` or `stumpy.mstumped`"
537537
)
538538

539-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
540539
ignore_trivial = core.check_ignore_trivial(T_A, T_B, ignore_trivial)
540+
if ignore_trivial: # self-join
541+
core.check_window_size(
542+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
543+
)
544+
else: # AB-join
545+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
541546

542547
n = T_B.shape[0]
543548
w = T_A.shape[0] - m + 1

stumpy/gpu_stump.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,8 +666,13 @@ def gpu_stump(
666666
"For multidimensional STUMP use `stumpy.mstump` or `stumpy.mstumped`"
667667
)
668668

669-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
670669
ignore_trivial = core.check_ignore_trivial(T_A, T_B, ignore_trivial)
670+
if ignore_trivial: # self-join
671+
core.check_window_size(
672+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
673+
)
674+
else: # AB-join
675+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
671676

672677
n = T_B.shape[0]
673678
w = T_A.shape[0] - m + 1

stumpy/mstump.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ def subspace(
217217
array([0, 1])
218218
"""
219219
T = core._preprocess(T)
220-
core.check_window_size(m, max_size=T.shape[-1])
220+
core.check_window_size(m, max_size=T.shape[-1], n=T.shape[-1])
221221
T_subseq_isconstant = core.process_isconstant(T, m, T_subseq_isconstant)
222222

223223
if discretize_func is None:
@@ -409,7 +409,7 @@ def mdl(
409409
(array([ 80. , 111.509775]), [array([1]), array([0, 1])])
410410
"""
411411
T = core._preprocess(T)
412-
core.check_window_size(m, max_size=T.shape[-1])
412+
core.check_window_size(m, max_size=T.shape[-1], n=T.shape[-1])
413413
T_subseq_isconstant = core.process_isconstant(T, m, T_subseq_isconstant)
414414

415415
if discretize_func is None:
@@ -1228,7 +1228,9 @@ def mstump(
12281228
err = f"T is {T_A.ndim}-dimensional and must be at least 1-dimensional"
12291229
raise ValueError(f"{err}")
12301230

1231-
core.check_window_size(m, max_size=min(T_A.shape[1], T_B.shape[1]))
1231+
# mstump currently supports self-join. Therefore, the argument `n` should be
1232+
# passed to the function `core.check_window_size`.
1233+
core.check_window_size(m, max_size=min(T_A.shape[1], T_B.shape[1]), n=T_A.shape[1])
12321234

12331235
if include is not None:
12341236
include = core._preprocess_include(include)

stumpy/mstumped.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,9 @@ def mstumped(
505505
err = f"T is {T_A.ndim}-dimensional and must be at least 1-dimensional"
506506
raise ValueError(f"{err}")
507507

508-
core.check_window_size(m, max_size=min(T_A.shape[1], T_B.shape[1]))
508+
# mstump currently supports self-join. Therefore, the argument `n` should be
509+
# passed to the function `core.check_window_size`.
510+
core.check_window_size(m, max_size=min(T_A.shape[1], T_B.shape[1]), n=T_A.shape[1])
509511

510512
if include is not None:
511513
include = core._preprocess_include(include)

stumpy/scraamp.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -646,10 +646,15 @@ def __init__(
646646
"For multidimensional STUMP use `stumpy.mstump` or `stumpy.mstumped`"
647647
)
648648

649-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
650649
self._ignore_trivial = core.check_ignore_trivial(
651650
self._T_A, self._T_B, self._ignore_trivial
652651
)
652+
if self._ignore_trivial: # self-join
653+
core.check_window_size(
654+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
655+
)
656+
else: # AB-join
657+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
653658

654659
self._n_A = self._T_A.shape[0]
655660
self._n_B = self._T_B.shape[0]

stumpy/scrump.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -905,10 +905,15 @@ def __init__(
905905
"For multidimensional STUMP use `stumpy.mstump` or `stumpy.mstumped`"
906906
)
907907

908-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
909908
self._ignore_trivial = core.check_ignore_trivial(
910909
self._T_A, self._T_B, self._ignore_trivial
911910
)
911+
if self._ignore_trivial:
912+
core.check_window_size(
913+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
914+
)
915+
else:
916+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
912917

913918
self._n_A = self._T_A.shape[0]
914919
self._n_B = self._T_B.shape[0]

stumpy/stamp.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,13 +208,14 @@ def stamp(
208208
if T_B.ndim != 1: # pragma: no cover
209209
raise ValueError(f"T_B is {T_B.ndim}-dimensional and must be 1-dimensional. ")
210210

211-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
212-
213211
subseq_T_A = core.rolling_window(T_A, m)
214212
excl_zone = int(np.ceil(m / 2))
215213

216214
# Add exclusionary zone
217215
if ignore_trivial:
216+
core.check_window_size(
217+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
218+
)
218219
out = [
219220
_mass_PI(
220221
subseq,
@@ -229,6 +230,7 @@ def stamp(
229230
for i, subseq in enumerate(subseq_T_A)
230231
]
231232
else:
233+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
232234
out = [
233235
_mass_PI(
234236
subseq,

stumpy/stomp.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,13 @@ def _stomp(T_A, m, T_B=None, ignore_trivial=True):
8181
if T_B.ndim != 1: # pragma: no cover
8282
raise ValueError(f"T_B is {T_B.ndim}-dimensional and must be 1-dimensional. ")
8383

84-
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
8584
ignore_trivial = core.check_ignore_trivial(T_A, T_B, ignore_trivial)
85+
if ignore_trivial: # self-join
86+
core.check_window_size(
87+
m, max_size=min(T_A.shape[0], T_B.shape[0]), n=T_A.shape[0]
88+
)
89+
else: # AB-join
90+
core.check_window_size(m, max_size=min(T_A.shape[0], T_B.shape[0]))
8691

8792
n = T_A.shape[0]
8893
l = n - m + 1

0 commit comments

Comments
 (0)