Skip to content

Commit cd39c6a

Browse files
committed
fix: repeated subset_to
1 parent cbc59ee commit cd39c6a

3 files changed

Lines changed: 26 additions & 26 deletions

File tree

pixi.lock

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

python/genvarloader/_dataset/_indexing.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,19 @@ def subset_to(
106106
if regions is None and samples is None:
107107
return self
108108

109+
to_update = {}
110+
109111
if samples is not None:
110112
samples = self.sample2idx(samples)
111113
sample_idxs = idx_like_to_array(samples, self.n_samples)
112-
else:
113-
sample_idxs = np.arange(self.n_samples, dtype=np.intp)
114+
to_update["sample_subset_idxs"] = sample_idxs
114115

115116
if regions is not None:
116117
regions = self.region2idx(regions)
117118
region_idxs = idx_like_to_array(regions, self.n_regions)
118-
else:
119-
region_idxs = np.arange(self.n_regions, dtype=np.intp)
119+
to_update["region_subset_idxs"] = region_idxs
120120

121-
return evolve(
122-
self, region_subset_idxs=region_idxs, sample_subset_idxs=sample_idxs
123-
)
121+
return evolve(self, **to_update)
124122

125123
def to_full_dataset(self) -> "DatasetIndexer":
126124
"""Return a full sized dataset, undoing any subsettting."""

python/genvarloader/_utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ def idx_like_to_array(idx: Idx, max_len: int) -> NDArray[np.integer]:
7171
assert is_dtype(idx, np.integer) or is_dtype(idx, np.bool_)
7272

7373
if isinstance(idx, slice):
74-
_idx = np.arange(max_len, dtype=np.intp)[idx]
74+
_idx = np.arange(
75+
idx.start or 0, idx.stop or max_len, idx.step or 1, dtype=np.intp
76+
)
7577
elif is_dtype(idx, np.bool_):
7678
_idx = idx.nonzero()[0]
7779
else:

0 commit comments

Comments
 (0)