concision_core/tensor/
mod.rs

1/*
2    appellation: tensor <module>
3    authors: @FL03
4*/
5//! this module focuses on establishing a solid foundation for working with n-dimensional
6//! tensors.
7
8#[doc(inline)]
9pub use self::{tensor::*, traits::*, types::*};
10
11/// this module defines various iterators for the [`TensorBase`]
12pub mod iter;
13
14mod tensor;
15
16mod impls {
17    mod impl_tensor;
18    mod impl_tensor_iter;
19    mod impl_tensor_ops;
20    mod impl_tensor_repr;
21
22    #[allow(deprecated)]
23    mod impl_tensor_deprecated;
24    #[cfg(feature = "init")]
25    mod impl_tensor_init;
26    #[cfg(feature = "rand")]
27    mod impl_tensor_rand;
28    #[cfg(feature = "serde")]
29    mod impl_tensor_serde;
30}
31
32mod traits {
33    //! this module provides additional traits for the `tensor` module
34    #[doc(inline)]
35    pub use self::prelude::*;
36
37    mod ops;
38    mod raw_tensor;
39    mod scalar;
40
41    mod prelude {
42        #[doc(inline)]
43        pub use super::ops::*;
44        #[doc(inline)]
45        pub use super::raw_tensor::*;
46        #[doc(inline)]
47        pub use super::scalar::*;
48    }
49}
50
51mod types {
52    //! this module defines various type aliases and primitives used by the `tensor` module
53    #[doc(inline)]
54    pub use self::prelude::*;
55
56    mod aliases;
57
58    mod prelude {
59        #[doc(inline)]
60        pub use super::aliases::*;
61    }
62}
63
64pub(crate) mod prelude {
65    #[doc(inline)]
66    pub use super::tensor::*;
67    #[doc(inline)]
68    pub use super::traits::*;
69    #[doc(inline)]
70    pub use super::types::*;
71}