1#![cfg_attr(not(feature = "std"), no_std)]
15
16#[cfg(feature = "alloc")]
17extern crate alloc;
18
19#[macro_use]
20pub(crate) mod macros {
21    #[macro_use]
22    pub(crate) mod seal;
23    #[macro_use]
24    pub(crate) mod unary;
25}
26
27#[doc(inline)]
28pub use self::{error::*, ops::*, traits::*, utils::*};
29
30pub mod error;
31#[cfg(feature = "signal")]
32pub mod signal;
33pub mod stats;
34
35mod ops {
36    #[doc(inline)]
37    pub use self::prelude::*;
38
39    mod unary;
40
41    mod prelude {
42        #[doc(inline)]
43        pub use super::unary::*;
44    }
45}
46
47mod traits {
48    #[doc(inline)]
49    pub use self::prelude::*;
50
51    #[cfg(feature = "complex")]
52    mod complex;
53    mod difference;
54    mod precision;
55    mod root;
56
57    mod prelude {
58        #[doc(inline)]
59        #[cfg(feature = "complex")]
60        pub use super::complex::*;
61        #[doc(inline)]
62        pub use super::difference::*;
63        #[doc(inline)]
64        pub use super::precision::*;
65        #[doc(inline)]
66        pub use super::root::*;
67    }
68}
69
70mod utils {
71    #[doc(inline)]
73    pub use self::prelude::*;
74
75    mod activate;
76    mod arith;
77    mod gradient;
78    mod norm;
79    mod patterns;
80    mod tensor;
81
82    mod prelude {
83        #[doc(inline)]
84        pub use super::activate::*;
85        #[doc(inline)]
86        pub use super::arith::*;
87        #[doc(inline)]
88        pub use super::gradient::*;
89        #[doc(inline)]
90        pub use super::norm::*;
91        #[doc(inline)]
92        pub use super::patterns::*;
93        #[doc(inline)]
94        pub use super::tensor::*;
95    }
96}
97
98#[doc(hidden)]
99pub mod prelude {
100    pub use crate::stats::prelude::*;
101    pub use crate::traits::*;
102    pub use crate::utils::*;
103
104    #[cfg(feature = "signal")]
105    pub use crate::signal::prelude::*;
106}