#![doc = include_str!("../README.md")]
#![warn(
missing_docs,
clippy::unwrap_in_result,
clippy::unwrap_used,
clippy::panic,
clippy::panic_in_result_fn,
clippy::float_cmp,
clippy::float_cmp_const,
clippy::missing_panics_doc,
clippy::todo
)]
#![no_std]
extern crate alloc;
#[cfg(any(test, feature = "std"))]
extern crate std;
pub mod extendable;
pub mod infallible;
mod infallible_use;
mod into_parallel;
mod ops;
mod option;
mod option_use;
mod parameters;
pub mod pools;
mod result;
mod result_use;
mod results;
mod runner;
mod sizes;
mod sort;
mod use_var;
pub use extendable::ParExtend;
pub use infallible::{EnumeratePar, Par, ParRec};
pub use infallible_use::{EnumerateParUse, ParUse};
pub use into_parallel::{
IntoParIter, IterIntoParIter, ParCollection, ParCollectionMut, ParDrain, Parallelizable,
par_recursive,
};
pub use ops::Sum;
pub use option::ParOption;
pub use option_use::ParUseOption;
pub use parameters::{ChunkSize, IterationOrder, NumThreads, Params};
#[cfg(all(feature = "wasm", target_arch = "wasm32"))]
pub use pools::WasmWebPool;
#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
pub use pools::wasm_web_runtime_info;
#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
pub use pools::wasm_web_start_worker;
pub use pools::{Pool, Scope, TaskQueue, Tasks, ThreadPool};
pub use result::ParResult;
pub use result_use::ParUseResult;
pub use runner::Runner;
pub use use_var::{Use, UseVec};
#[cfg(all(feature = "wasm", target_arch = "wasm32", target_feature = "atomics"))]
pub use pools::init_wasm_parallel_runtime;
#[cfg(feature = "experimental")]
pub use sort::par_experimental_sort;