orx_parallel/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(
3    missing_docs,
4    clippy::unwrap_in_result,
5    clippy::unwrap_used,
6    clippy::panic,
7    clippy::panic_in_result_fn,
8    clippy::float_cmp,
9    clippy::float_cmp_const,
10    clippy::missing_panics_doc,
11    clippy::todo
12)]
13
14mod collect_into;
15/// Module containing variants of parallel iterators.
16pub mod computational_variants;
17mod computations;
18mod env;
19mod into_par_iter;
20/// Module for creating special iterators.
21pub mod iter;
22mod iter_into_par_iter;
23mod par_iter;
24mod parallel_drainable;
25mod parallelizable;
26mod parallelizable_collection;
27mod parameters;
28/// Module defining the parallel runner trait and the default parallel runner.
29pub mod runner;
30mod special_type_sets;
31/// Module defining parallel iterators with mutable access to values distributed to each thread.
32pub mod using;
33
34/// Module defining the GenericIterator which is a generalization over
35/// sequential iterator, rayon's parallel iterator and orx-parallel's
36/// parallel iterator.
37/// This is particularly useful for running experiments and comparing
38/// results of computations with different methods.
39#[cfg(feature = "generic_iterator")]
40pub mod generic_iterator;
41
42/// Module with utility methods for testing.
43#[cfg(test)]
44mod test_utils;
45
46pub use collect_into::ParCollectInto;
47pub use into_par_iter::IntoParIter;
48pub use iter_into_par_iter::IterIntoParIter;
49pub use par_iter::ParIter;
50pub use parallel_drainable::ParallelDrainableOverSlice;
51pub use parallelizable::Parallelizable;
52pub use parallelizable_collection::ParallelizableCollection;
53pub use parameters::{ChunkSize, IterationOrder, NumThreads, Params};
54pub use runner::{DefaultRunner, ParallelRunner, ThreadRunner};
55pub use special_type_sets::Sum;
56pub use using::ParIterUsing;