INNER CODE UNIT · Rust
array_desc
RyanCodrai/turbovec · turbovec-python/src/lib.rs:30
fn array_desc(obj: &Bound<'_, PyAny>) -> String {
let ndim = obj
.getattr("ndim")
.ok()
.and_then(|n| n.extract::<usize>().ok());
let dtype = obj
.getattr("dtype")
.ok()
.and_then(|d| d.str().ok())
.map(|s| s.to_string());
match (ndim, dtype) {
(Some(n), Some(d)) => format!("{n}-D {d}"),
_ => type_name(obj),
}
}
fn array_type_err(name: &str, expected: &str, obj: &Bound<'_, PyAny>) -> PyErr {
pyo3::exceptions::PyTypeError::new_err(format!(