1use crate::dimension::Dim;
5use crate::{ArcArray, Array, ArrayView, ArrayViewMut, Ix, IxDynImpl};
6
7#[allow(non_snake_case)]
9#[inline(always)]
10pub fn Ix0() -> Ix0 {
11 Dim::new([])
12}
13#[allow(non_snake_case)]
15#[inline(always)]
16pub fn Ix1(i0: Ix) -> Ix1 {
17 Dim::new([i0])
18}
19#[allow(non_snake_case)]
21#[inline(always)]
22pub fn Ix2(i0: Ix, i1: Ix) -> Ix2 {
23 Dim::new([i0, i1])
24}
25#[allow(non_snake_case)]
27#[inline(always)]
28pub fn Ix3(i0: Ix, i1: Ix, i2: Ix) -> Ix3 {
29 Dim::new([i0, i1, i2])
30}
31#[allow(non_snake_case)]
33#[inline(always)]
34pub fn Ix4(i0: Ix, i1: Ix, i2: Ix, i3: Ix) -> Ix4 {
35 Dim::new([i0, i1, i2, i3])
36}
37#[allow(non_snake_case)]
39#[inline(always)]
40pub fn Ix5(i0: Ix, i1: Ix, i2: Ix, i3: Ix, i4: Ix) -> Ix5 {
41 Dim::new([i0, i1, i2, i3, i4])
42}
43#[allow(non_snake_case)]
45#[inline(always)]
46pub fn Ix6(i0: Ix, i1: Ix, i2: Ix, i3: Ix, i4: Ix, i5: Ix) -> Ix6 {
47 Dim::new([i0, i1, i2, i3, i4, i5])
48}
49
50#[allow(non_snake_case)]
52#[inline(always)]
53pub fn IxDyn(ix: &[Ix]) -> IxDyn {
54 Dim(ix)
55}
56
57pub type Ix0 = Dim<[Ix; 0]>;
59pub type Ix1 = Dim<[Ix; 1]>;
61pub type Ix2 = Dim<[Ix; 2]>;
63pub type Ix3 = Dim<[Ix; 3]>;
65pub type Ix4 = Dim<[Ix; 4]>;
67pub type Ix5 = Dim<[Ix; 5]>;
69pub type Ix6 = Dim<[Ix; 6]>;
71pub type IxDyn = Dim<IxDynImpl>;
100
101pub type Array0<A> = Array<A, Ix0>;
103pub type Array1<A> = Array<A, Ix1>;
105pub type Array2<A> = Array<A, Ix2>;
107pub type Array3<A> = Array<A, Ix3>;
109pub type Array4<A> = Array<A, Ix4>;
111pub type Array5<A> = Array<A, Ix5>;
113pub type Array6<A> = Array<A, Ix6>;
115pub type ArrayD<A> = Array<A, IxDyn>;
117
118pub type ArrayView0<'a, A> = ArrayView<'a, A, Ix0>;
120pub type ArrayView1<'a, A> = ArrayView<'a, A, Ix1>;
122pub type ArrayView2<'a, A> = ArrayView<'a, A, Ix2>;
124pub type ArrayView3<'a, A> = ArrayView<'a, A, Ix3>;
126pub type ArrayView4<'a, A> = ArrayView<'a, A, Ix4>;
128pub type ArrayView5<'a, A> = ArrayView<'a, A, Ix5>;
130pub type ArrayView6<'a, A> = ArrayView<'a, A, Ix6>;
132pub type ArrayViewD<'a, A> = ArrayView<'a, A, IxDyn>;
134
135pub type ArrayViewMut0<'a, A> = ArrayViewMut<'a, A, Ix0>;
137pub type ArrayViewMut1<'a, A> = ArrayViewMut<'a, A, Ix1>;
139pub type ArrayViewMut2<'a, A> = ArrayViewMut<'a, A, Ix2>;
141pub type ArrayViewMut3<'a, A> = ArrayViewMut<'a, A, Ix3>;
143pub type ArrayViewMut4<'a, A> = ArrayViewMut<'a, A, Ix4>;
145pub type ArrayViewMut5<'a, A> = ArrayViewMut<'a, A, Ix5>;
147pub type ArrayViewMut6<'a, A> = ArrayViewMut<'a, A, Ix6>;
149pub type ArrayViewMutD<'a, A> = ArrayViewMut<'a, A, IxDyn>;
151
152pub type ArcArray1<A> = ArcArray<A, Ix1>;
154pub type ArcArray2<A> = ArcArray<A, Ix2>;