Crates.io | ndcopy |
lib.rs | ndcopy |
version | 0.3.0 |
source | src |
created_at | 2021-09-28 20:17:55.530487 |
updated_at | 2022-04-17 23:30:53.380705 |
description | Fast N-dimensional array memcpy |
homepage | |
repository | https://github.com/bonsairobo/ndcopy-rs |
max_upload_size | |
id | 457745 |
size | 26,537 |
Fast N-dimensional array memcpy.
Speed is achieved by copying slices row-by-row. Rust code is much faster at copying slices than trying to index N-dimensional coordinates for every value index.
use ndcopy::ndshape::{ConstShape, ConstShape3u32};
use ndcopy::copy3;
type SrcShape = ConstShape3u32<50, 50, 50>;
type DstShape = ConstShape3u32<25, 25, 25>;
let src = [1u8; SrcShape::USIZE];
let mut dst = [0u8; DstShape::USIZE];
let copy_shape = [20; 3];
let src_min = [1, 2, 3];
let dst_min = [2, 3, 4];
copy3(
copy_shape,
&src,
&SrcShape {},
src_min,
&mut dst,
&DstShape {},
dst_min,
);
License: MIT OR Apache-2.0