rstsr_common/layout/
mod.rs1pub mod broadcast;
2pub mod dim;
3pub mod indexer;
4pub mod iterator;
5pub mod layoutbase;
6pub mod matmul;
7pub mod rearrangement;
8pub mod reshape;
9pub mod shape;
10pub mod slice;
11pub mod stride;
12
13pub mod exports {
14 use super::*;
15 pub use broadcast::*;
16 pub use dim::*;
17 pub use indexer::*;
18 pub use iterator::*;
19 pub use layoutbase::*;
20 pub use matmul::*;
21 pub use rearrangement::*;
22 pub use reshape::*;
23 pub use shape::*;
24 pub use slice::*;
25 pub use stride::*;
26
27 pub trait DimDevAPI: DimBaseAPI + DimShapeAPI + DimStrideAPI + DimLayoutContigAPI {}
28
29 impl<const N: usize> DimDevAPI for Ix<N> {}
30 impl DimDevAPI for IxD {}
31
32 pub trait DimAPI:
33 DimDevAPI
34 + DimIntoAPI<IxD>
35 + DimIntoAPI<Ix0>
36 + DimIntoAPI<Ix1>
37 + DimIntoAPI<Ix2>
38 + DimIntoAPI<Ix3>
39 + DimIntoAPI<Ix4>
40 + DimIntoAPI<Ix5>
41 + DimIntoAPI<Ix6>
42 + DimIntoAPI<Ix7>
43 + DimIntoAPI<Ix8>
44 + DimIntoAPI<Ix9>
45 + DimIntoAPI<Self>
46 {
47 }
48
49 impl<const N: usize> DimAPI for Ix<N> {}
50 impl DimAPI for IxD {}
51}