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 raw_tensor;
38    mod scalar;
39
40    mod prelude {
41        #[doc(inline)]
42        pub use super::raw_tensor::*;
43        #[doc(inline)]
44        pub use super::scalar::*;
45    }
46}
47
48mod types {
49    //! this module defines various type aliases and primitives used by the `tensor` module
50    #[doc(inline)]
51    pub use self::prelude::*;
52
53    mod aliases;
54
55    mod prelude {
56        #[doc(inline)]
57        pub use super::aliases::*;
58    }
59}
60
61pub(crate) mod prelude {
62    #[doc(inline)]
63    pub use super::tensor::*;
64    #[doc(inline)]
65    pub use super::traits::*;
66    #[doc(inline)]
67    pub use super::types::*;
68}