#![cfg_attr(not(feature = "std"), no_std)]
#![allow(
clippy::missing_safety_doc,
clippy::module_inception,
clippy::needless_doctest_main,
clippy::should_implement_trait,
clippy::upper_case_acronyms,
rustdoc::redundant_explicit_links
)]
#![cfg_attr(all(feature = "nightly", feature = "alloc"), feature(allocator_api))]
#![cfg_attr(all(feature = "nightly", feature = "autodiff"), feature(autodiff))]
#[cfg(not(any(feature = "alloc", feature = "std")))]
compiler_error! { "Either the \"alloc\" or \"std\" feature must be enabled for this crate." }
#[cfg(feature = "alloc")]
extern crate alloc;
#[macro_use]
pub(crate) mod macros {
#[macro_use]
pub mod seal;
}
pub mod error;
pub mod iter;
mod params_base;
mod impls {
mod impl_params;
mod impl_params_ext;
mod impl_params_iter;
mod impl_params_ops;
mod impl_params_rand;
mod impl_params_ref;
mod impl_params_repr;
mod impl_params_serde;
}
mod traits {
#[doc(inline)]
pub use self::{iterators::*, raw_params::*, shape::*, wnb::*};
mod iterators;
mod raw_params;
mod shape;
mod wnb;
}
mod utils {
#[doc(inline)]
pub use self::shape::*;
mod shape;
}
#[doc(inline)]
pub use self::{error::*, params_base::*, traits::*, utils::*};
#[doc(hidden)]
pub mod prelude {
pub use crate::params_base::*;
pub use crate::traits::*;
pub use crate::utils::*;
}