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#![no_std]
14
15extern crate alloc;
16
17#[cfg(any(test, feature = "std"))]
18extern crate std;
19
20pub mod extendable;
22pub mod infallible;
24mod infallible_use;
25mod into_parallel;
26mod ops;
27mod option;
28mod option_use;
29mod parameters;
30pub mod pools;
32mod result;
33mod result_use;
34mod results;
35mod runner;
36mod sizes;
37mod sort;
38mod use_var;
39
40pub use extendable::ParExtend;
41pub use infallible::{EnumeratePar, Par, ParRec};
42pub use infallible_use::{EnumerateParUse, ParUse};
43pub use into_parallel::{
44 IntoParIter, IterIntoParIter, ParCollection, ParCollectionMut, ParDrain, Parallelizable,
45 par_recursive,
46};
47pub use ops::Sum;
48pub use option::ParOption;
49pub use option_use::ParUseOption;
50pub use parameters::{ChunkSize, IterationOrder, NumThreads, Params};
51#[cfg(all(feature = "wasm", target_arch = "wasm32"))]
52pub use pools::WasmWebPool;
53
54#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
55pub use pools::wasm_web_runtime_info;
56#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
57pub use pools::wasm_web_start_worker;
58pub use pools::{Pool, Scope, TaskQueue, Tasks, ThreadPool};
59pub use result::ParResult;
60pub use result_use::ParUseResult;
61pub use runner::Runner;
62pub use use_var::{Use, UseVec};
63
64#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
66pub use pools::init_wasm_parallel_runtime;
67
68#[cfg(feature = "experimental")]
70pub use sort::par_experimental_sort;