Skip to content

Commit 8872e1f

Browse files
ikrommydpfackeldey
andauthored
fix: incorrect passing of Index inside nplike function in to_IndexedOptionArray64 (#3727)
* do not pass index into np like function * Use to64() shortcut Co-authored-by: Peter Fackeldey <fackeldey.peter@gmail.com> * fix typo * add test * remve whitespace --------- Co-authored-by: Peter Fackeldey <fackeldey.peter@gmail.com>
1 parent 1594a70 commit 8872e1f

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/awkward/contents/indexedoptionarray.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ def to_IndexedOptionArray64(self) -> IndexedOptionArray:
269269
return self
270270
else:
271271
return IndexedOptionArray(
272-
self._backend.nplike.astype(self._index, dtype=np.int64),
272+
self._index.to64(),
273273
self._content,
274274
parameters=self._parameters,
275275
)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE
2+
3+
from __future__ import annotations
4+
5+
import numpy as np
6+
7+
import awkward as ak
8+
9+
10+
def test():
11+
index32 = ak.index.Index(np.array([0, 1, -1], dtype=np.int32))
12+
content = ak.contents.NumpyArray(np.array([10, 20, 30]))
13+
arr = ak.contents.IndexedOptionArray(index32, content)
14+
new_arr = arr.to_IndexedOptionArray64()
15+
16+
assert arr.index.dtype == np.dtype("int32")
17+
assert new_arr.index.dtype == np.dtype("int64")
18+
assert arr.to_list() == new_arr.to_list()

0 commit comments

Comments
 (0)