LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

А если ещё и транспонирование на вариант с chunks_exact поменять, то начинает немного обгонять C. Нет, не начинает. Ошибка с индексами.

    for (i, b_row) in b.chunks_exact(n).enumerate() {
        for (j, &b_val) in b_row.iter().enumerate() {
            unsafe {
                *t.get_unchecked_mut(j*n + i) = b_val;
            }
        }
    }

Исправление red75prim, :

А если ещё и транспонирование на вариант с chunks_exact поменять, то начинает немного обгонять C.

    for (i, b_row) in b.chunks_exact(n).enumerate() {
        for (j, &b_val) in b_row.iter().enumerate() {
            unsafe {
                *t.get_unchecked_mut(j*n + i) = b_val;
            }
        }
    }

Исходная версия red75prim, :

А если ещё и транспонирование на вариант с chunks_exact поменять, то начинает немного обгонять C.

    for (i, b_row) in b.chunks_exact(n).enumerate() {
        for (j, &b_val) in b_row.iter().enumerate() {
            unsafe {
                *t.get_unchecked_mut(i*n + j) = b_val;
            }
        }
    }