(value_type, np_type_str)
| 73 | ] |
| 74 | ) |
| 75 | def test_dlpack(value_type, np_type_str): |
| 76 | if Version(np.__version__) < Version("1.24.0"): |
| 77 | pytest.skip("No dlpack support in numpy versions older than 1.22.0, " |
| 78 | "strict keyword in assert_array_equal added in numpy version " |
| 79 | "1.24.0") |
| 80 | |
| 81 | expected = np.array([1, 2, 3], dtype=np.dtype(np_type_str)) |
| 82 | arr = pa.array(expected, type=value_type) |
| 83 | check_dlpack_export(arr, expected) |
| 84 | |
| 85 | t = pa.Tensor.from_numpy(expected) |
| 86 | check_dlpack_export(t, expected) |
| 87 | |
| 88 | arr_sliced = arr.slice(1, 1) |
| 89 | expected = np.array([2], dtype=np.dtype(np_type_str)) |
| 90 | check_dlpack_export(arr_sliced, expected) |
| 91 | |
| 92 | arr_sliced = arr.slice(0, 1) |
| 93 | expected = np.array([1], dtype=np.dtype(np_type_str)) |
| 94 | check_dlpack_export(arr_sliced, expected) |
| 95 | |
| 96 | arr_sliced = arr.slice(1) |
| 97 | expected = np.array([2, 3], dtype=np.dtype(np_type_str)) |
| 98 | check_dlpack_export(arr_sliced, expected) |
| 99 | |
| 100 | arr_zero = pa.array([], type=value_type) |
| 101 | expected = np.array([], dtype=np.dtype(np_type_str)) |
| 102 | check_dlpack_export(arr_zero, expected) |
| 103 | |
| 104 | t = pa.Tensor.from_numpy(expected) |
| 105 | check_dlpack_export(t, expected) |
| 106 | |
| 107 | |
| 108 | @check_bytes_allocated |
nothing calls this directly
no test coverage detected