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-allocator", target_arch = "wasm32"))]
56pub use orx_parallel_wasm_allocator::WasmParallelAllocator;
57
58#[cfg(not(feature = "std"))]
59pub use pools::SequentialPool;
60#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
61pub use pools::wasm_web_runtime_info;
62#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
63pub use pools::wasm_web_start_worker;
64#[cfg(feature = "std")]
65pub use pools::{BasicPool, OncePool};
66pub use pools::{Pool, Scope, TaskQueue, Tasks, ThreadPool};
67pub use result::ParResult;
68pub use result_use::ParUseResult;
69pub use runner::{ParRunner, Runner};
70pub use use_var::{Use, UseVec};
71
72#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
74pub use pools::init_wasm_parallel_runtime;
75
76#[cfg(feature = "experimental")]
78pub use sort::par_experimental_sort;