Skip to content

Commit 0f3f7ba

Browse files
committed
added complex handling
1 parent eb7e26c commit 0f3f7ba

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/_arraykit.c

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6276,12 +6276,56 @@ AK_TM_transfer(TriMapObject* tm,
62766276
case NPY_INT8:
62776277
TRANSFER_SCALARS(npy_float16, npy_int8); // to, from
62786278
break;
6279+
case NPY_UINT16:
6280+
TRANSFER_SCALARS(npy_float16, npy_uint16); // to, from
6281+
break;
62796282
case NPY_UINT8:
62806283
TRANSFER_SCALARS(npy_float16, npy_uint8); // to, from
62816284
break;
62826285
}
62836286
break;
62846287

6288+
case NPY_COMPLEX128:
6289+
switch (PyArray_TYPE(array_from)) {
6290+
case NPY_COMPLEX128:
6291+
TRANSFER_SCALARS(npy_complex128, npy_complex128); // to, from
6292+
break;
6293+
case NPY_FLOAT64:
6294+
TRANSFER_SCALARS(npy_complex128, npy_float64); // to, from
6295+
break;
6296+
case NPY_FLOAT32:
6297+
TRANSFER_SCALARS(npy_complex128, npy_float32); // to, from
6298+
break;
6299+
case NPY_FLOAT16:
6300+
TRANSFER_SCALARS(npy_complex128, npy_float16); // to, from
6301+
break;
6302+
case NPY_INT64:
6303+
TRANSFER_SCALARS(npy_complex128, npy_int64); // to, from
6304+
break;
6305+
case NPY_INT32:
6306+
TRANSFER_SCALARS(npy_complex128, npy_int32); // to, from
6307+
break;
6308+
case NPY_INT16:
6309+
TRANSFER_SCALARS(npy_complex128, npy_int16); // to, from
6310+
break;
6311+
case NPY_INT8:
6312+
TRANSFER_SCALARS(npy_complex128, npy_int8); // to, from
6313+
break;
6314+
case NPY_UINT64:
6315+
TRANSFER_SCALARS(npy_complex128, npy_uint64); // to, from
6316+
break;
6317+
case NPY_UINT32:
6318+
TRANSFER_SCALARS(npy_complex128, npy_uint32); // to, from
6319+
break;
6320+
case NPY_UINT16:
6321+
TRANSFER_SCALARS(npy_complex128, npy_uint16); // to, from
6322+
break;
6323+
case NPY_UINT8:
6324+
TRANSFER_SCALARS(npy_complex128, npy_uint8); // to, from
6325+
break;
6326+
}
6327+
break;
6328+
62856329
// unicode
62866330
case NPY_UNICODE: {
62876331
if (PyArray_TYPE(array_from) != NPY_UNICODE) {

0 commit comments

Comments
 (0)