concision_utils/
lib.rs

1/*
2    Appellation: concision-utils <library>
3    Contrib: @FL03
4*/
5//! A suite of utilities tailored toward neural networks.
6//!
7//! Our focus revolves around the following areas:
8//!
9//! - **Numerical Operations**: Efficient implementations of mathematical functions.
10//! - **Statistical Functions**: Tools for statistical analysis and operations.
11//! - **Signal Processing**: Functions and utilities for signal manipulation.
12//! - **Utilities**: General-purpose utilities to aid in mathematical computations.
13//!
14#![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    //! utilties supporting various mathematical routines for machine learning tasks.
72    #[doc(inline)]
73    pub use self::prelude::*;
74
75    mod arith;
76    mod gradient;
77    mod norm;
78    mod patterns;
79    mod tensor;
80
81    mod prelude {
82        #[doc(inline)]
83        pub use super::arith::*;
84        #[doc(inline)]
85        pub use super::gradient::*;
86        #[doc(inline)]
87        pub use super::norm::*;
88        #[doc(inline)]
89        pub use super::patterns::*;
90        #[doc(inline)]
91        pub use super::tensor::*;
92    }
93}
94
95#[doc(hidden)]
96pub mod prelude {
97    pub use crate::stats::prelude::*;
98    pub use crate::traits::*;
99    pub use crate::utils::*;
100
101    #[cfg(feature = "signal")]
102    pub use crate::signal::prelude::*;
103}