acme_tensor/
lib.rs

1/*
2    Appellation: acme-tensor <library>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! # Tensor
6//!
7//! This library implements a tensor data structure with support for automatic differentiation.
8//!
9#[cfg(not(feature = "std"))]
10extern crate alloc;
11
12extern crate acme_core as acme;
13
14#[doc(inline)]
15pub use self::{actions::*, tensor::*, utils::*};
16
17#[allow(unused)]
18#[macro_use]
19pub(crate) mod seal;
20pub(crate) mod tensor;
21#[macro_use]
22pub(crate) mod utils;
23
24#[doc(hidden)]
25pub mod backend;
26pub mod error;
27#[doc(hidden)]
28pub mod fmt;
29#[cfg(feature = "io")]
30pub mod io;
31pub mod linalg;
32pub mod ops;
33pub mod shape;
34pub mod specs;
35pub mod stats;
36pub mod types;
37
38pub(crate) mod actions {
39
40    pub mod create;
41    pub mod grad;
42    pub mod index;
43    pub mod iter;
44}
45
46mod impls {
47    mod ops {
48        mod binary;
49        mod unary;
50    }
51    mod create;
52    mod grad;
53    mod iter;
54    mod linalg;
55    mod num;
56    mod reshape;
57}
58
59pub type Tensor<T = f64> = tensor::TensorBase<T>;
60
61pub mod prelude {
62    pub use crate::actions::{create::*, grad::*, index::*, iter::*};
63    pub use crate::error::*;
64    pub use crate::linalg::prelude::*;
65    pub use crate::ops::*;
66    pub use crate::shape::prelude::*;
67    pub use crate::specs::prelude::*;
68    pub use crate::stats::prelude::*;
69    pub use crate::types::prelude::*;
70    pub use crate::utils::*;
71    pub use crate::Tensor;
72    pub(crate) use acme::prelude::Scalar;
73}