Pull to refresh
-5
0
Send message

Байтовые и строковые срезы это термины, которые широко используются в Rust.

Меня это интересует, но мне хотелось бы исполнять async Rust. Оценил бы, если бы ты рассмотрел этот вариант.

"У вас тоже ерунда."

Это убеждение строится на предположениях о моих намерениях. Как вы отметили, мы реализуем разные концепты. У вас матрица 2x2, у автора (и у меня) динамически-размерная матрица NxM. И даже это не так важно так как единственной целью представленного кода была демонстрация того, что я подразумевал под обобщением по индексации. Я написал наименьший и самый простой код демонстрирующий именно эту идею.

Тот, кто пишет хоть один Vec в подобном определении — профнепригоден заигрался с неуместной универсальностью.

Для цели демонстрации идеи, это более чем разумный выбор.

В идеале ещё обобщать по знанию размерности на этапе компиляции, аналогично тому как это делает ndarray из экосистемы Rust. Хотя я согласен, что это уже может становиться сложно.

// Трейт для типов индексации.
trait Idxn<const N: usize> {
  fn flat_idx(indices: [usize;N], sizes: &[usize; N]) -> usize;
  fn mult_idx(fidx: usize, sizes: &[usize; N]) -> [usize; N];
}

struct Matrix2<T, I>
where
  T: /* ... */,
  I: Idxn<2>,
{
  dims: [usize; 2]
  buf: Vec<T>,
}

// impls: ...

Опечатка. Подразумевалось слово обобщение.

У тебя не совсем так. Ты решил полагаться на подход через вектор векторов, который за простоту расплачивается низкой производительностью. У тебя данные могут хранится только в non-contiguous подобии Raw-major order.

Набор советов:

  • Используй cargo-msrv для определения поддерживаемой версии Rust

  • Если пишешь типы матриц/тензоров, пожалуйста сделай общение по индексации (C-order, Fortran-order, Morton-order).

Большое спасибо за статью! А почему Arc<Mutex<u128>> вместо atomic'а?

Вы совсем забыли, что даже unique_ptr имеет ненулевую стоимость и это напрягает. Источник: "There are no zero cost abstractions" by Chandler Carruth, CppCon

За последние два года количество Rust разработчиков выросло более чем в два раза.

А минусы-то за что? Я пытаюсь сделать нечто полезное для сообщества и выживаю как могу. Связаться же как-то надо, чтобы плохо не получилось.

Здравствуйте, @humbug, я постепенно пишу бесплатный курс по Rust на Stepik с кучей теории и практики. Telegram: https://t.me/dmitrii_dem Я был бы очень рад получить совет по поводу того как можно улучшить. Уже есть порядка 20 уроков с10 шагов в каждом.

Здравствуйте, попытался зайти к вам на сайт. Встретила ошибка 403 Forbidden от nginx.

Позволить использовать Unreal Engine из Rust. Это не одно и то же.

Мне этот подход к созданию языков программирования очень сильно напомнил TeX.

Information

Rating
Does not participate
Registered
Activity