rstsr_common/layout/
mod.rs

1pub 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 use broadcast::*;
14pub use dim::*;
15pub use indexer::*;
16pub use iterator::*;
17pub use layoutbase::*;
18pub use matmul::*;
19pub use rearrangement::*;
20pub use reshape::*;
21pub use shape::*;
22pub use slice::*;
23pub use stride::*;
24
25pub trait DimDevAPI: DimBaseAPI + DimShapeAPI + DimStrideAPI + DimLayoutContigAPI {}
26
27impl<const N: usize> DimDevAPI for Ix<N> {}
28impl DimDevAPI for IxD {}
29
30pub trait DimAPI:
31    DimDevAPI
32    + DimIntoAPI<IxD>
33    + DimIntoAPI<Ix0>
34    + DimIntoAPI<Ix1>
35    + DimIntoAPI<Ix2>
36    + DimIntoAPI<Ix3>
37    + DimIntoAPI<Ix4>
38    + DimIntoAPI<Ix5>
39    + DimIntoAPI<Ix6>
40    + DimIntoAPI<Ix7>
41    + DimIntoAPI<Ix8>
42    + DimIntoAPI<Ix9>
43    + DimIntoAPI<Self>
44{
45}
46
47impl<const N: usize> DimAPI for Ix<N> {}
48impl DimAPI for IxD {}