1#![allow(
13 clippy::missing_safety_doc,
14 clippy::module_inception,
15 clippy::needless_doctest_main,
16 clippy::should_implement_trait,
17 clippy::upper_case_acronyms
18)]
19#![cfg_attr(not(feature = "std"), no_std)]
20
21#[doc(inline)]
22#[cfg(feature = "rand")]
23pub use self::{distr::prelude::*, utils::*};
24#[doc(inline)]
25pub use self::{error::*, traits::*};
26
27#[cfg(feature = "alloc")]
28extern crate alloc;
29
30#[cfg(feature = "rand")]
31#[doc(no_inline)]
32pub use rand;
33#[cfg(feature = "rand")]
34#[doc(no_inline)]
35pub use rand_distr;
36
37pub mod error;
38
39pub(crate) mod utils {
40 #[doc(inline)]
42 #[cfg(feature = "rand")]
43 pub use self::prelude::*;
44
45 #[cfg(feature = "rand")]
46 mod rand_utils;
47
48 mod prelude {
49 #[cfg(feature = "rand")]
50 pub use super::rand_utils::*;
51 }
52}
53
54mod traits {
55 #[doc(inline)]
56 pub use self::prelude::*;
57
58 mod init;
59 #[cfg(feature = "rand")]
60 mod initialize;
61
62 mod prelude {
63 #[doc(inline)]
64 pub use super::init::*;
65 #[doc(inline)]
66 #[cfg(feature = "rand")]
67 pub use super::initialize::*;
68 }
69}
70
71#[cfg(feature = "rand")]
72pub mod distr {
73 #[doc(inline)]
76 pub use self::prelude::*;
77
78 pub mod lecun;
79 pub mod trunc;
80 pub mod xavier;
81
82 pub(crate) mod prelude {
83 #[doc(inline)]
84 pub use super::lecun::*;
85 #[doc(inline)]
86 pub use super::trunc::*;
87 #[doc(inline)]
88 pub use super::xavier::*;
89 }
90}
91
92#[doc(hidden)]
93pub mod prelude {
94 #[cfg(feature = "rand")]
95 pub use super::distr::prelude::*;
96 pub use super::traits::*;
97 #[cfg(feature = "rand")]
98 pub use super::utils::*;
99}