Я пишу кросс-скомпилированную библиотеку на Rust (которая будет работать на IOS / Android / Linux / MacOS). Я использую ndarray для реализации алгоритмов.
Мне нужно рассчитать норму ArrayBase. Я нашел ndarray-linalg, который представляет собой ящик с множеством черт по типам ndarray.
Но я не могу его использовать:
// Cargo.toml
ndarray = { version = "0.15.1", default-features = true }
ndarray-linalg = {version = "0.13.1"}
// src/main.rs
use ndarray::*;
use ndarray_linalg::*;
fn main() {
let foo = ArrayBase::from(&[1,2,3]);
foo.norm_l2(); // produces error
//^^^^^^^ method not found in `&ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>`
}
Итак, у меня есть 2 вопроса:
- Как решить эту проблему и сделать эти методы доступными в моей программе?
- В любом случае, стоит ли использовать эти ящики для компиляции для архитектур Android и IOS?
Заранее спасибо.