如何创建一个 PyArray 以输入方法
How to create a PyArray to feed into method
我有一个方法 foo
具有以下签名:
pub fn foo(data: PyReadonlyArrayDyn<f64>) {
...
}
在我的测试中,我试图创建一个测试数组来输入 foo
pyo3::Python::with_gil(|py| {
let vec = vec![1.0, 2.0, 3.0, 4.0];
py_array = PyArray::from_vec(py, vec);
readonly = py_array.readonly();
foo(readonly);
}
不幸的是,rust 告诉我:
mismatched types
expected struct `PyReadonlyArray<'_, f64, Dim<IxDynImpl>>`
found struct `PyReadonlyArray<'_, {float}, Dim<[usize; 1]>>`
显然,我 运行 遇到了关于维度的问题。我必须如何创建 PyReadonlyArray
才能将其输入 foo
?
pyo3::Python::with_gil(|py| {
let vec = vec![1.0, 2.0, 3.0, 4.0];
py_array = PyArray::from_vec(py, vec);
readonly = py_array.to_dyn().readonly();
foo(readonly);
}
我有一个方法 foo
具有以下签名:
pub fn foo(data: PyReadonlyArrayDyn<f64>) {
...
}
在我的测试中,我试图创建一个测试数组来输入 foo
pyo3::Python::with_gil(|py| {
let vec = vec![1.0, 2.0, 3.0, 4.0];
py_array = PyArray::from_vec(py, vec);
readonly = py_array.readonly();
foo(readonly);
}
不幸的是,rust 告诉我:
mismatched types
expected struct `PyReadonlyArray<'_, f64, Dim<IxDynImpl>>`
found struct `PyReadonlyArray<'_, {float}, Dim<[usize; 1]>>`
显然,我 运行 遇到了关于维度的问题。我必须如何创建 PyReadonlyArray
才能将其输入 foo
?
pyo3::Python::with_gil(|py| {
let vec = vec![1.0, 2.0, 3.0, 4.0];
py_array = PyArray::from_vec(py, vec);
readonly = py_array.to_dyn().readonly();
foo(readonly);
}