Skip to content

Commit 1eadbde

Browse files
phoflpmhatre1
authored andcommitted
Compile take functions for uint dtypes (pandas-dev#57632)
1 parent a4b405c commit 1eadbde

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

pandas/_libs/algos.pyi

+27
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,15 @@ def take_1d_int32_float64(
165165
def take_1d_int64_int64(
166166
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
167167
) -> None: ...
168+
def take_1d_uint16_uint16(
169+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
170+
) -> None: ...
171+
def take_1d_uint32_uint32(
172+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
173+
) -> None: ...
174+
def take_1d_uint64_uint64(
175+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
176+
) -> None: ...
168177
def take_1d_int64_float64(
169178
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
170179
) -> None: ...
@@ -225,6 +234,15 @@ def take_2d_axis0_int64_int64(
225234
def take_2d_axis0_int64_float64(
226235
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
227236
) -> None: ...
237+
def take_2d_axis0_uint16_uint16(
238+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
239+
) -> None: ...
240+
def take_2d_axis0_uint32_uint32(
241+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
242+
) -> None: ...
243+
def take_2d_axis0_uint64_uint64(
244+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
245+
) -> None: ...
228246
def take_2d_axis0_float32_float32(
229247
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
230248
) -> None: ...
@@ -279,6 +297,15 @@ def take_2d_axis1_int32_float64(
279297
def take_2d_axis1_int64_int64(
280298
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
281299
) -> None: ...
300+
def take_2d_axis1_uint16_uint16(
301+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
302+
) -> None: ...
303+
def take_2d_axis1_uint32_uint32(
304+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
305+
) -> None: ...
306+
def take_2d_axis1_uint64_uint64(
307+
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
308+
) -> None: ...
282309
def take_2d_axis1_int64_float64(
283310
values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
284311
) -> None: ...

pandas/_libs/algos_take_helper.pxi.in

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ WARNING: DO NOT edit .pxi FILE directly, .pxi is generated from .pxi.in
1515
dtypes = [
1616
('uint8_t', 'uint8_t'),
1717
('uint8_t', 'object'),
18+
('uint16_t', 'uint16_t'),
19+
('uint32_t', 'uint32_t'),
20+
('uint64_t', 'uint64_t'),
1821
('int8_t', 'int8_t'),
1922
('int8_t', 'int32_t'),
2023
('int8_t', 'int64_t'),

pandas/core/array_algos/take.py

+12
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,10 @@ def wrapper(
337337
("int32", "int64"): libalgos.take_1d_int32_int64,
338338
("int32", "float64"): libalgos.take_1d_int32_float64,
339339
("int64", "int64"): libalgos.take_1d_int64_int64,
340+
("uint8", "uint8"): libalgos.take_1d_bool_bool,
341+
("uint16", "int64"): libalgos.take_1d_uint16_uint16,
342+
("uint32", "int64"): libalgos.take_1d_uint32_uint32,
343+
("uint64", "int64"): libalgos.take_1d_uint64_uint64,
340344
("int64", "float64"): libalgos.take_1d_int64_float64,
341345
("float32", "float32"): libalgos.take_1d_float32_float32,
342346
("float32", "float64"): libalgos.take_1d_float32_float64,
@@ -366,6 +370,10 @@ def wrapper(
366370
("int32", "float64"): libalgos.take_2d_axis0_int32_float64,
367371
("int64", "int64"): libalgos.take_2d_axis0_int64_int64,
368372
("int64", "float64"): libalgos.take_2d_axis0_int64_float64,
373+
("uint8", "uint8"): libalgos.take_2d_axis0_bool_bool,
374+
("uint16", "uint16"): libalgos.take_2d_axis0_uint16_uint16,
375+
("uint32", "uint32"): libalgos.take_2d_axis0_uint32_uint32,
376+
("uint64", "uint64"): libalgos.take_2d_axis0_uint64_uint64,
369377
("float32", "float32"): libalgos.take_2d_axis0_float32_float32,
370378
("float32", "float64"): libalgos.take_2d_axis0_float32_float64,
371379
("float64", "float64"): libalgos.take_2d_axis0_float64_float64,
@@ -398,6 +406,10 @@ def wrapper(
398406
("int32", "float64"): libalgos.take_2d_axis1_int32_float64,
399407
("int64", "int64"): libalgos.take_2d_axis1_int64_int64,
400408
("int64", "float64"): libalgos.take_2d_axis1_int64_float64,
409+
("uint8", "uint8"): libalgos.take_2d_axis1_bool_bool,
410+
("uint16", "uint16"): libalgos.take_2d_axis1_uint16_uint16,
411+
("uint32", "uint32"): libalgos.take_2d_axis1_uint32_uint32,
412+
("uint64", "uint64"): libalgos.take_2d_axis1_uint64_uint64,
401413
("float32", "float32"): libalgos.take_2d_axis1_float32_float32,
402414
("float32", "float64"): libalgos.take_2d_axis1_float32_float64,
403415
("float64", "float64"): libalgos.take_2d_axis1_float64_float64,

0 commit comments

Comments
 (0)