par-array-init

Crates.iopar-array-init
lib.rspar-array-init
version0.0.5
sourcesrc
created_at2019-06-07 01:22:25.558533
updated_at2019-06-07 01:30:54.020297
descriptionConvenience functions for initializing arrays in parallel.
homepagehttps://github.com/thunderseethe/parallel_array_init
repositoryhttps://github.com/thunderseethe/parallel_array_init
max_upload_size
id139528
size11,190
Ethan Smith (thunderseethe)

documentation

https://docs.rs/par-array-init

README

par-array-init

The par-array-init crate allows you to initialize arrays with an initializer closure that will be called in parallel to fill the array.

This crate mirrors the api of crate array-init with the caveat that initialization is performed in parallel. An important departure from array-init, initialization order is not deterministic and should not be relied on.

Parallelization is achieved using rayon and it's ParallelIterator api.

Examples:

extern crate par_array_init;
extern crate rayon;

use par_array_init::{par_array_init, from_par_iter};

// Initialize an array of length 10 containing successive squares
let arr: [usize; 50] = par_array_init(|i| i * i);

// Initialize an array from an iterator producing an array of 34 repeated

let mut iter = rayon::iter::repeat(34u32).take(50);
let arr: Option<[u32; 50]> = from_par_iter(iter);
Commit count: 7

cargo fmt