MCPcopy Create free account
hub / github.com/PyO3/rust-numpy / into_pyarray

Method into_pyarray

src/convert.rs:51–60  ·  view source on GitHub ↗
(self, py: Python<'py>)

Source from the content-addressed store, hash-verified

49 type Dim = Ix1;
50
51 fn into_pyarray<'py>(self, py: Python<'py>) -> Bound<'py, PyArray<Self::Item, Self::Dim>> {
52 let container = PySliceContainer::from(self);
53 let dims = Dim([container.len]);
54 let strides = [mem::size_of::<T>() as npy_intp];
55 // The data pointer is derived only after dissolving `Box` into `PySliceContainer`
56 // to avoid unsound aliasing of Box<[T]> which is currently noalias,
57 // c.f. https://github.com/rust-lang/unsafe-code-guidelines/issues/326
58 let data_ptr = container.ptr as *mut T;
59 unsafe { PyArray::from_raw_parts(py, dims, strides.as_ptr(), data_ptr, container) }
60 }
61}
62
63impl<T: Element> IntoPyArray for Vec<T> {

Callers 15

from_vecMethod · 0.80
from_iterMethod · 0.80
extractMethod · 0.80
with_base_objectFunction · 0.80
view_with_base_objectFunction · 0.80
permute_and_transposeFunction · 0.80
usize_dtypeFunction · 0.80
into_pyarray_vecFunction · 0.80
into_pyarray_boxed_sliceFunction · 0.80
into_pyarray_arrayFunction · 0.80

Calls 1

lenMethod · 0.80

Tested by 13

with_base_objectFunction · 0.64
view_with_base_objectFunction · 0.64
permute_and_transposeFunction · 0.64
usize_dtypeFunction · 0.64
into_pyarray_vecFunction · 0.64
into_pyarray_boxed_sliceFunction · 0.64
into_pyarray_arrayFunction · 0.64
into_pyarray_can_writeFunction · 0.64
collapsed_into_pyarrayFunction · 0.64
forder_into_pyarrayFunction · 0.64