#[rustfmt::skip] pub mod s { pub trait TupleSwizzle2: Sized { fn s(self) -> (A, B); fn x(self) -> A { self.s().0 } fn y(self) -> B { self.s().1 } fn xx(self) -> (A, A) { let s = self.s(); (s.0, s.0) } fn xy(self) -> (A, B) { let s = self.s(); (s.0, s.1) } fn yx(self) -> (B, A) { let s = self.s(); (s.1, s.0) } fn yy(self) -> (B, B) { let s = self.s(); (s.1, s.1) } fn r(self) -> A { self.s().0 } fn g(self) -> B { self.s().1 } fn rr(self) -> (A, A) { let s = self.s(); (s.0, s.0) } fn rg(self) -> (A, B) { let s = self.s(); (s.0, s.1) } fn gr(self) -> (B, A) { let s = self.s(); (s.1, s.0) } fn gg(self) -> (B, B) { let s = self.s(); (s.1, s.1) } } pub trait TupleSwizzle3: Sized { fn s(self) -> (A, B, C); fn x(self) -> A { self.s().0 } fn y(self) -> B { self.s().1 } fn z(self) -> C { self.s().2 } fn xx(self) -> (A, A){ let s = self.s(); (s.0, s.0) } fn xy(self) -> (A, B){ let s = self.s(); (s.0, s.1) } fn xz(self) -> (A, C){ let s = self.s(); (s.0, s.2) } fn yx(self) -> (B, A){ let s = self.s(); (s.1, s.0) } fn yy(self) -> (B, B){ let s = self.s(); (s.1, s.1) } fn yz(self) -> (B, C){ let s = self.s(); (s.1, s.2) } fn zx(self) -> (C, A){ let s = self.s(); (s.2, s.0) } fn zy(self) -> (C, B){ let s = self.s(); (s.2, s.1) } fn zz(self) -> (C, C){ let s = self.s(); (s.2, s.2) } fn xxx(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) } fn xxy(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) } fn xxz(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) } fn xyx(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) } fn xyy(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) } fn xyz(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) } fn xzx(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) } fn xzy(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) } fn xzz(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) } fn yxx(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) } fn yxy(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) } fn yxz(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) } fn yyx(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) } fn yyy(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) } fn yyz(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) } fn yzx(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) } fn yzy(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) } fn yzz(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) } fn zxx(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) } fn zxy(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) } fn zxz(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) } fn zyx(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) } fn zyy(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) } fn zyz(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) } fn zzx(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) } fn zzy(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) } fn zzz(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) } fn r(self) -> A { self.s().0 } fn g(self) -> B { self.s().1 } fn b(self) -> C { self.s().2 } fn rr(self) -> (A, A){ let s = self.s(); (s.0, s.0) } fn rg(self) -> (A, B){ let s = self.s(); (s.0, s.1) } fn rb(self) -> (A, C){ let s = self.s(); (s.0, s.2) } fn gr(self) -> (B, A){ let s = self.s(); (s.1, s.0) } fn gg(self) -> (B, B){ let s = self.s(); (s.1, s.1) } fn gb(self) -> (B, C){ let s = self.s(); (s.1, s.2) } fn br(self) -> (C, A){ let s = self.s(); (s.2, s.0) } fn bg(self) -> (C, B){ let s = self.s(); (s.2, s.1) } fn bb(self) -> (C, C){ let s = self.s(); (s.2, s.2) } fn rrr(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) } fn rrg(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) } fn rrb(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) } fn rgr(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) } fn rgg(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) } fn rgb(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) } fn rbr(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) } fn rbg(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) } fn rbb(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) } fn grr(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) } fn grg(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) } fn grb(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) } fn ggr(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) } fn ggg(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) } fn ggb(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) } fn gbr(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) } fn gbg(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) } fn gbb(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) } fn brr(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) } fn brg(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) } fn brb(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) } fn bgr(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) } fn bgg(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) } fn bgb(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) } fn bbr(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) } fn bbg(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) } fn bbb(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) } } pub trait TupleSwizzle4: Sized { fn s(self) -> (A, B, C, D); fn x(self) -> A { self.s().0 } fn y(self) -> B { self.s().1 } fn z(self) -> C { self.s().2 } fn w(self) -> D { self.s().3 } fn xx(self) -> (A, A) { let s = self.s(); (s.0, s.0) } fn xy(self) -> (A, B) { let s = self.s(); (s.0, s.1) } fn xz(self) -> (A, C) { let s = self.s(); (s.0, s.2) } fn xw(self) -> (A, D) { let s = self.s(); (s.0, s.3) } fn yx(self) -> (B, A) { let s = self.s(); (s.1, s.0) } fn yy(self) -> (B, B) { let s = self.s(); (s.1, s.1) } fn yz(self) -> (B, C) { let s = self.s(); (s.1, s.2) } fn yw(self) -> (B, D) { let s = self.s(); (s.1, s.3) } fn zx(self) -> (C, A) { let s = self.s(); (s.2, s.0) } fn zy(self) -> (C, B) { let s = self.s(); (s.2, s.1) } fn zz(self) -> (C, C) { let s = self.s(); (s.2, s.2) } fn zw(self) -> (C, D) { let s = self.s(); (s.2, s.3) } fn wx(self) -> (D, A) { let s = self.s(); (s.3, s.0) } fn wy(self) -> (D, B) { let s = self.s(); (s.3, s.1) } fn wz(self) -> (D, C) { let s = self.s(); (s.3, s.2) } fn ww(self) -> (D, D) { let s = self.s(); (s.3, s.3) } fn xxx(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) } fn xxy(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) } fn xxz(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) } fn xxw(self) -> (A, A, D) { let s = self.s(); (s.0, s.0, s.3) } fn xyx(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) } fn xyy(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) } fn xyz(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) } fn xyw(self) -> (A, B, D) { let s = self.s(); (s.0, s.1, s.3) } fn xzx(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) } fn xzy(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) } fn xzz(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) } fn xzw(self) -> (A, C, D) { let s = self.s(); (s.0, s.2, s.3) } fn xwx(self) -> (A, D, A) { let s = self.s(); (s.0, s.3, s.0) } fn xwy(self) -> (A, D, B) { let s = self.s(); (s.0, s.3, s.1) } fn xwz(self) -> (A, D, C) { let s = self.s(); (s.0, s.3, s.2) } fn xww(self) -> (A, D, D) { let s = self.s(); (s.0, s.3, s.3) } fn yxx(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) } fn yxy(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) } fn yxz(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) } fn yxw(self) -> (B, A, D) { let s = self.s(); (s.1, s.0, s.3) } fn yyx(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) } fn yyy(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) } fn yyz(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) } fn yyw(self) -> (B, B, D) { let s = self.s(); (s.1, s.1, s.3) } fn yzx(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) } fn yzy(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) } fn yzz(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) } fn yzw(self) -> (B, C, D) { let s = self.s(); (s.1, s.2, s.3) } fn ywx(self) -> (B, D, A) { let s = self.s(); (s.1, s.3, s.0) } fn ywy(self) -> (B, D, B) { let s = self.s(); (s.1, s.3, s.1) } fn ywz(self) -> (B, D, C) { let s = self.s(); (s.1, s.3, s.2) } fn yww(self) -> (B, D, D) { let s = self.s(); (s.1, s.3, s.3) } fn zxx(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) } fn zxy(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) } fn zxz(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) } fn zxw(self) -> (C, A, D) { let s = self.s(); (s.2, s.0, s.3) } fn zyx(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) } fn zyy(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) } fn zyz(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) } fn zyw(self) -> (C, B, D) { let s = self.s(); (s.2, s.1, s.3) } fn zzx(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) } fn zzy(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) } fn zzz(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) } fn zzw(self) -> (C, C, D) { let s = self.s(); (s.2, s.2, s.3) } fn zwx(self) -> (C, D, A) { let s = self.s(); (s.2, s.3, s.0) } fn zwy(self) -> (C, D, B) { let s = self.s(); (s.2, s.3, s.1) } fn zwz(self) -> (C, D, C) { let s = self.s(); (s.2, s.3, s.2) } fn zww(self) -> (C, D, D) { let s = self.s(); (s.2, s.3, s.3) } fn wxx(self) -> (D, A, A) { let s = self.s(); (s.3, s.0, s.0) } fn wxy(self) -> (D, A, B) { let s = self.s(); (s.3, s.0, s.1) } fn wxz(self) -> (D, A, C) { let s = self.s(); (s.3, s.0, s.2) } fn wxw(self) -> (D, A, D) { let s = self.s(); (s.3, s.0, s.3) } fn wyx(self) -> (D, B, A) { let s = self.s(); (s.3, s.1, s.0) } fn wyy(self) -> (D, B, B) { let s = self.s(); (s.3, s.1, s.1) } fn wyz(self) -> (D, B, C) { let s = self.s(); (s.3, s.1, s.2) } fn wyw(self) -> (D, B, D) { let s = self.s(); (s.3, s.1, s.3) } fn wzx(self) -> (D, C, A) { let s = self.s(); (s.3, s.2, s.0) } fn wzy(self) -> (D, C, B) { let s = self.s(); (s.3, s.2, s.1) } fn wzz(self) -> (D, C, C) { let s = self.s(); (s.3, s.2, s.2) } fn wzw(self) -> (D, C, D) { let s = self.s(); (s.3, s.2, s.3) } fn wwx(self) -> (D, D, A) { let s = self.s(); (s.3, s.3, s.0) } fn wwy(self) -> (D, D, B) { let s = self.s(); (s.3, s.3, s.1) } fn wwz(self) -> (D, D, C) { let s = self.s(); (s.3, s.3, s.2) } fn www(self) -> (D, D, D) { let s = self.s(); (s.3, s.3, s.3) } fn xxxx(self) -> (A, A, A, A) { let s = self.s(); (s.0, s.0, s.0, s.0) } fn xxxy(self) -> (A, A, A, B) { let s = self.s(); (s.0, s.0, s.0, s.1) } fn xxxz(self) -> (A, A, A, C) { let s = self.s(); (s.0, s.0, s.0, s.2) } fn xxxw(self) -> (A, A, A, D) { let s = self.s(); (s.0, s.0, s.0, s.3) } fn xxyx(self) -> (A, A, B, A) { let s = self.s(); (s.0, s.0, s.1, s.0) } fn xxyy(self) -> (A, A, B, B) { let s = self.s(); (s.0, s.0, s.1, s.1) } fn xxyz(self) -> (A, A, B, C) { let s = self.s(); (s.0, s.0, s.1, s.2) } fn xxyw(self) -> (A, A, B, D) { let s = self.s(); (s.0, s.0, s.1, s.3) } fn xxzx(self) -> (A, A, C, A) { let s = self.s(); (s.0, s.0, s.2, s.0) } fn xxzy(self) -> (A, A, C, B) { let s = self.s(); (s.0, s.0, s.2, s.1) } fn xxzz(self) -> (A, A, C, C) { let s = self.s(); (s.0, s.0, s.2, s.2) } fn xxzw(self) -> (A, A, C, D) { let s = self.s(); (s.0, s.0, s.2, s.3) } fn xxwx(self) -> (A, A, D, A) { let s = self.s(); (s.0, s.0, s.3, s.0) } fn xxwy(self) -> (A, A, D, B) { let s = self.s(); (s.0, s.0, s.3, s.1) } fn xxwz(self) -> (A, A, D, C) { let s = self.s(); (s.0, s.0, s.3, s.2) } fn xxww(self) -> (A, A, D, D) { let s = self.s(); (s.0, s.0, s.3, s.3) } fn xyxx(self) -> (A, B, A, A) { let s = self.s(); (s.0, s.1, s.0, s.0) } fn xyxy(self) -> (A, B, A, B) { let s = self.s(); (s.0, s.1, s.0, s.1) } fn xyxz(self) -> (A, B, A, C) { let s = self.s(); (s.0, s.1, s.0, s.2) } fn xyxw(self) -> (A, B, A, D) { let s = self.s(); (s.0, s.1, s.0, s.3) } fn xyyx(self) -> (A, B, B, A) { let s = self.s(); (s.0, s.1, s.1, s.0) } fn xyyy(self) -> (A, B, B, B) { let s = self.s(); (s.0, s.1, s.1, s.1) } fn xyyz(self) -> (A, B, B, C) { let s = self.s(); (s.0, s.1, s.1, s.2) } fn xyyw(self) -> (A, B, B, D) { let s = self.s(); (s.0, s.1, s.1, s.3) } fn xyzx(self) -> (A, B, C, A) { let s = self.s(); (s.0, s.1, s.2, s.0) } fn xyzy(self) -> (A, B, C, B) { let s = self.s(); (s.0, s.1, s.2, s.1) } fn xyzz(self) -> (A, B, C, C) { let s = self.s(); (s.0, s.1, s.2, s.2) } fn xyzw(self) -> (A, B, C, D) { let s = self.s(); (s.0, s.1, s.2, s.3) } fn xywx(self) -> (A, B, D, A) { let s = self.s(); (s.0, s.1, s.3, s.0) } fn xywy(self) -> (A, B, D, B) { let s = self.s(); (s.0, s.1, s.3, s.1) } fn xywz(self) -> (A, B, D, C) { let s = self.s(); (s.0, s.1, s.3, s.2) } fn xyww(self) -> (A, B, D, D) { let s = self.s(); (s.0, s.1, s.3, s.3) } fn xzxx(self) -> (A, C, A, A) { let s = self.s(); (s.0, s.2, s.0, s.0) } fn xzxy(self) -> (A, C, A, B) { let s = self.s(); (s.0, s.2, s.0, s.1) } fn xzxz(self) -> (A, C, A, C) { let s = self.s(); (s.0, s.2, s.0, s.2) } fn xzxw(self) -> (A, C, A, D) { let s = self.s(); (s.0, s.2, s.0, s.3) } fn xzyx(self) -> (A, C, B, A) { let s = self.s(); (s.0, s.2, s.1, s.0) } fn xzyy(self) -> (A, C, B, B) { let s = self.s(); (s.0, s.2, s.1, s.1) } fn xzyz(self) -> (A, C, B, C) { let s = self.s(); (s.0, s.2, s.1, s.2) } fn xzyw(self) -> (A, C, B, D) { let s = self.s(); (s.0, s.2, s.1, s.3) } fn xzzx(self) -> (A, C, C, A) { let s = self.s(); (s.0, s.2, s.2, s.0) } fn xzzy(self) -> (A, C, C, B) { let s = self.s(); (s.0, s.2, s.2, s.1) } fn xzzz(self) -> (A, C, C, C) { let s = self.s(); (s.0, s.2, s.2, s.2) } fn xzzw(self) -> (A, C, C, D) { let s = self.s(); (s.0, s.2, s.2, s.3) } fn xzwx(self) -> (A, C, D, A) { let s = self.s(); (s.0, s.2, s.3, s.0) } fn xzwy(self) -> (A, C, D, B) { let s = self.s(); (s.0, s.2, s.3, s.1) } fn xzwz(self) -> (A, C, D, C) { let s = self.s(); (s.0, s.2, s.3, s.2) } fn xzww(self) -> (A, C, D, D) { let s = self.s(); (s.0, s.2, s.3, s.3) } fn xwxx(self) -> (A, D, A, A) { let s = self.s(); (s.0, s.3, s.0, s.0) } fn xwxy(self) -> (A, D, A, B) { let s = self.s(); (s.0, s.3, s.0, s.1) } fn xwxz(self) -> (A, D, A, C) { let s = self.s(); (s.0, s.3, s.0, s.2) } fn xwxw(self) -> (A, D, A, D) { let s = self.s(); (s.0, s.3, s.0, s.3) } fn xwyx(self) -> (A, D, B, A) { let s = self.s(); (s.0, s.3, s.1, s.0) } fn xwyy(self) -> (A, D, B, B) { let s = self.s(); (s.0, s.3, s.1, s.1) } fn xwyz(self) -> (A, D, B, C) { let s = self.s(); (s.0, s.3, s.1, s.2) } fn xwyw(self) -> (A, D, B, D) { let s = self.s(); (s.0, s.3, s.1, s.3) } fn xwzx(self) -> (A, D, C, A) { let s = self.s(); (s.0, s.3, s.2, s.0) } fn xwzy(self) -> (A, D, C, B) { let s = self.s(); (s.0, s.3, s.2, s.1) } fn xwzz(self) -> (A, D, C, C) { let s = self.s(); (s.0, s.3, s.2, s.2) } fn xwzw(self) -> (A, D, C, D) { let s = self.s(); (s.0, s.3, s.2, s.3) } fn xwwx(self) -> (A, D, D, A) { let s = self.s(); (s.0, s.3, s.3, s.0) } fn xwwy(self) -> (A, D, D, B) { let s = self.s(); (s.0, s.3, s.3, s.1) } fn xwwz(self) -> (A, D, D, C) { let s = self.s(); (s.0, s.3, s.3, s.2) } fn xwww(self) -> (A, D, D, D) { let s = self.s(); (s.0, s.3, s.3, s.3) } fn yxxx(self) -> (B, A, A, A) { let s = self.s(); (s.1, s.0, s.0, s.0) } fn yxxy(self) -> (B, A, A, B) { let s = self.s(); (s.1, s.0, s.0, s.1) } fn yxxz(self) -> (B, A, A, C) { let s = self.s(); (s.1, s.0, s.0, s.2) } fn yxxw(self) -> (B, A, A, D) { let s = self.s(); (s.1, s.0, s.0, s.3) } fn yxyx(self) -> (B, A, B, A) { let s = self.s(); (s.1, s.0, s.1, s.0) } fn yxyy(self) -> (B, A, B, B) { let s = self.s(); (s.1, s.0, s.1, s.1) } fn yxyz(self) -> (B, A, B, C) { let s = self.s(); (s.1, s.0, s.1, s.2) } fn yxyw(self) -> (B, A, B, D) { let s = self.s(); (s.1, s.0, s.1, s.3) } fn yxzx(self) -> (B, A, C, A) { let s = self.s(); (s.1, s.0, s.2, s.0) } fn yxzy(self) -> (B, A, C, B) { let s = self.s(); (s.1, s.0, s.2, s.1) } fn yxzz(self) -> (B, A, C, C) { let s = self.s(); (s.1, s.0, s.2, s.2) } fn yxzw(self) -> (B, A, C, D) { let s = self.s(); (s.1, s.0, s.2, s.3) } fn yxwx(self) -> (B, A, D, A) { let s = self.s(); (s.1, s.0, s.3, s.0) } fn yxwy(self) -> (B, A, D, B) { let s = self.s(); (s.1, s.0, s.3, s.1) } fn yxwz(self) -> (B, A, D, C) { let s = self.s(); (s.1, s.0, s.3, s.2) } fn yxww(self) -> (B, A, D, D) { let s = self.s(); (s.1, s.0, s.3, s.3) } fn yyxx(self) -> (B, B, A, A) { let s = self.s(); (s.1, s.1, s.0, s.0) } fn yyxy(self) -> (B, B, A, B) { let s = self.s(); (s.1, s.1, s.0, s.1) } fn yyxz(self) -> (B, B, A, C) { let s = self.s(); (s.1, s.1, s.0, s.2) } fn yyxw(self) -> (B, B, A, D) { let s = self.s(); (s.1, s.1, s.0, s.3) } fn yyyx(self) -> (B, B, B, A) { let s = self.s(); (s.1, s.1, s.1, s.0) } fn yyyy(self) -> (B, B, B, B) { let s = self.s(); (s.1, s.1, s.1, s.1) } fn yyyz(self) -> (B, B, B, C) { let s = self.s(); (s.1, s.1, s.1, s.2) } fn yyyw(self) -> (B, B, B, D) { let s = self.s(); (s.1, s.1, s.1, s.3) } fn yyzx(self) -> (B, B, C, A) { let s = self.s(); (s.1, s.1, s.2, s.0) } fn yyzy(self) -> (B, B, C, B) { let s = self.s(); (s.1, s.1, s.2, s.1) } fn yyzz(self) -> (B, B, C, C) { let s = self.s(); (s.1, s.1, s.2, s.2) } fn yyzw(self) -> (B, B, C, D) { let s = self.s(); (s.1, s.1, s.2, s.3) } fn yywx(self) -> (B, B, D, A) { let s = self.s(); (s.1, s.1, s.3, s.0) } fn yywy(self) -> (B, B, D, B) { let s = self.s(); (s.1, s.1, s.3, s.1) } fn yywz(self) -> (B, B, D, C) { let s = self.s(); (s.1, s.1, s.3, s.2) } fn yyww(self) -> (B, B, D, D) { let s = self.s(); (s.1, s.1, s.3, s.3) } fn yzxx(self) -> (B, C, A, A) { let s = self.s(); (s.1, s.2, s.0, s.0) } fn yzxy(self) -> (B, C, A, B) { let s = self.s(); (s.1, s.2, s.0, s.1) } fn yzxz(self) -> (B, C, A, C) { let s = self.s(); (s.1, s.2, s.0, s.2) } fn yzxw(self) -> (B, C, A, D) { let s = self.s(); (s.1, s.2, s.0, s.3) } fn yzyx(self) -> (B, C, B, A) { let s = self.s(); (s.1, s.2, s.1, s.0) } fn yzyy(self) -> (B, C, B, B) { let s = self.s(); (s.1, s.2, s.1, s.1) } fn yzyz(self) -> (B, C, B, C) { let s = self.s(); (s.1, s.2, s.1, s.2) } fn yzyw(self) -> (B, C, B, D) { let s = self.s(); (s.1, s.2, s.1, s.3) } fn yzzx(self) -> (B, C, C, A) { let s = self.s(); (s.1, s.2, s.2, s.0) } fn yzzy(self) -> (B, C, C, B) { let s = self.s(); (s.1, s.2, s.2, s.1) } fn yzzz(self) -> (B, C, C, C) { let s = self.s(); (s.1, s.2, s.2, s.2) } fn yzzw(self) -> (B, C, C, D) { let s = self.s(); (s.1, s.2, s.2, s.3) } fn yzwx(self) -> (B, C, D, A) { let s = self.s(); (s.1, s.2, s.3, s.0) } fn yzwy(self) -> (B, C, D, B) { let s = self.s(); (s.1, s.2, s.3, s.1) } fn yzwz(self) -> (B, C, D, C) { let s = self.s(); (s.1, s.2, s.3, s.2) } fn yzww(self) -> (B, C, D, D) { let s = self.s(); (s.1, s.2, s.3, s.3) } fn ywxx(self) -> (B, D, A, A) { let s = self.s(); (s.1, s.3, s.0, s.0) } fn ywxy(self) -> (B, D, A, B) { let s = self.s(); (s.1, s.3, s.0, s.1) } fn ywxz(self) -> (B, D, A, C) { let s = self.s(); (s.1, s.3, s.0, s.2) } fn ywxw(self) -> (B, D, A, D) { let s = self.s(); (s.1, s.3, s.0, s.3) } fn ywyx(self) -> (B, D, B, A) { let s = self.s(); (s.1, s.3, s.1, s.0) } fn ywyy(self) -> (B, D, B, B) { let s = self.s(); (s.1, s.3, s.1, s.1) } fn ywyz(self) -> (B, D, B, C) { let s = self.s(); (s.1, s.3, s.1, s.2) } fn ywyw(self) -> (B, D, B, D) { let s = self.s(); (s.1, s.3, s.1, s.3) } fn ywzx(self) -> (B, D, C, A) { let s = self.s(); (s.1, s.3, s.2, s.0) } fn ywzy(self) -> (B, D, C, B) { let s = self.s(); (s.1, s.3, s.2, s.1) } fn ywzz(self) -> (B, D, C, C) { let s = self.s(); (s.1, s.3, s.2, s.2) } fn ywzw(self) -> (B, D, C, D) { let s = self.s(); (s.1, s.3, s.2, s.3) } fn ywwx(self) -> (B, D, D, A) { let s = self.s(); (s.1, s.3, s.3, s.0) } fn ywwy(self) -> (B, D, D, B) { let s = self.s(); (s.1, s.3, s.3, s.1) } fn ywwz(self) -> (B, D, D, C) { let s = self.s(); (s.1, s.3, s.3, s.2) } fn ywww(self) -> (B, D, D, D) { let s = self.s(); (s.1, s.3, s.3, s.3) } fn zxxx(self) -> (C, A, A, A) { let s = self.s(); (s.2, s.0, s.0, s.0) } fn zxxy(self) -> (C, A, A, B) { let s = self.s(); (s.2, s.0, s.0, s.1) } fn zxxz(self) -> (C, A, A, C) { let s = self.s(); (s.2, s.0, s.0, s.2) } fn zxxw(self) -> (C, A, A, D) { let s = self.s(); (s.2, s.0, s.0, s.3) } fn zxyx(self) -> (C, A, B, A) { let s = self.s(); (s.2, s.0, s.1, s.0) } fn zxyy(self) -> (C, A, B, B) { let s = self.s(); (s.2, s.0, s.1, s.1) } fn zxyz(self) -> (C, A, B, C) { let s = self.s(); (s.2, s.0, s.1, s.2) } fn zxyw(self) -> (C, A, B, D) { let s = self.s(); (s.2, s.0, s.1, s.3) } fn zxzx(self) -> (C, A, C, A) { let s = self.s(); (s.2, s.0, s.2, s.0) } fn zxzy(self) -> (C, A, C, B) { let s = self.s(); (s.2, s.0, s.2, s.1) } fn zxzz(self) -> (C, A, C, C) { let s = self.s(); (s.2, s.0, s.2, s.2) } fn zxzw(self) -> (C, A, C, D) { let s = self.s(); (s.2, s.0, s.2, s.3) } fn zxwx(self) -> (C, A, D, A) { let s = self.s(); (s.2, s.0, s.3, s.0) } fn zxwy(self) -> (C, A, D, B) { let s = self.s(); (s.2, s.0, s.3, s.1) } fn zxwz(self) -> (C, A, D, C) { let s = self.s(); (s.2, s.0, s.3, s.2) } fn zxww(self) -> (C, A, D, D) { let s = self.s(); (s.2, s.0, s.3, s.3) } fn zyxx(self) -> (C, B, A, A) { let s = self.s(); (s.2, s.1, s.0, s.0) } fn zyxy(self) -> (C, B, A, B) { let s = self.s(); (s.2, s.1, s.0, s.1) } fn zyxz(self) -> (C, B, A, C) { let s = self.s(); (s.2, s.1, s.0, s.2) } fn zyxw(self) -> (C, B, A, D) { let s = self.s(); (s.2, s.1, s.0, s.3) } fn zyyx(self) -> (C, B, B, A) { let s = self.s(); (s.2, s.1, s.1, s.0) } fn zyyy(self) -> (C, B, B, B) { let s = self.s(); (s.2, s.1, s.1, s.1) } fn zyyz(self) -> (C, B, B, C) { let s = self.s(); (s.2, s.1, s.1, s.2) } fn zyyw(self) -> (C, B, B, D) { let s = self.s(); (s.2, s.1, s.1, s.3) } fn zyzx(self) -> (C, B, C, A) { let s = self.s(); (s.2, s.1, s.2, s.0) } fn zyzy(self) -> (C, B, C, B) { let s = self.s(); (s.2, s.1, s.2, s.1) } fn zyzz(self) -> (C, B, C, C) { let s = self.s(); (s.2, s.1, s.2, s.2) } fn zyzw(self) -> (C, B, C, D) { let s = self.s(); (s.2, s.1, s.2, s.3) } fn zywx(self) -> (C, B, D, A) { let s = self.s(); (s.2, s.1, s.3, s.0) } fn zywy(self) -> (C, B, D, B) { let s = self.s(); (s.2, s.1, s.3, s.1) } fn zywz(self) -> (C, B, D, C) { let s = self.s(); (s.2, s.1, s.3, s.2) } fn zyww(self) -> (C, B, D, D) { let s = self.s(); (s.2, s.1, s.3, s.3) } fn zzxx(self) -> (C, C, A, A) { let s = self.s(); (s.2, s.2, s.0, s.0) } fn zzxy(self) -> (C, C, A, B) { let s = self.s(); (s.2, s.2, s.0, s.1) } fn zzxz(self) -> (C, C, A, C) { let s = self.s(); (s.2, s.2, s.0, s.2) } fn zzxw(self) -> (C, C, A, D) { let s = self.s(); (s.2, s.2, s.0, s.3) } fn zzyx(self) -> (C, C, B, A) { let s = self.s(); (s.2, s.2, s.1, s.0) } fn zzyy(self) -> (C, C, B, B) { let s = self.s(); (s.2, s.2, s.1, s.1) } fn zzyz(self) -> (C, C, B, C) { let s = self.s(); (s.2, s.2, s.1, s.2) } fn zzyw(self) -> (C, C, B, D) { let s = self.s(); (s.2, s.2, s.1, s.3) } fn zzzx(self) -> (C, C, C, A) { let s = self.s(); (s.2, s.2, s.2, s.0) } fn zzzy(self) -> (C, C, C, B) { let s = self.s(); (s.2, s.2, s.2, s.1) } fn zzzz(self) -> (C, C, C, C) { let s = self.s(); (s.2, s.2, s.2, s.2) } fn zzzw(self) -> (C, C, C, D) { let s = self.s(); (s.2, s.2, s.2, s.3) } fn zzwx(self) -> (C, C, D, A) { let s = self.s(); (s.2, s.2, s.3, s.0) } fn zzwy(self) -> (C, C, D, B) { let s = self.s(); (s.2, s.2, s.3, s.1) } fn zzwz(self) -> (C, C, D, C) { let s = self.s(); (s.2, s.2, s.3, s.2) } fn zzww(self) -> (C, C, D, D) { let s = self.s(); (s.2, s.2, s.3, s.3) } fn zwxx(self) -> (C, D, A, A) { let s = self.s(); (s.2, s.3, s.0, s.0) } fn zwxy(self) -> (C, D, A, B) { let s = self.s(); (s.2, s.3, s.0, s.1) } fn zwxz(self) -> (C, D, A, C) { let s = self.s(); (s.2, s.3, s.0, s.2) } fn zwxw(self) -> (C, D, A, D) { let s = self.s(); (s.2, s.3, s.0, s.3) } fn zwyx(self) -> (C, D, B, A) { let s = self.s(); (s.2, s.3, s.1, s.0) } fn zwyy(self) -> (C, D, B, B) { let s = self.s(); (s.2, s.3, s.1, s.1) } fn zwyz(self) -> (C, D, B, C) { let s = self.s(); (s.2, s.3, s.1, s.2) } fn zwyw(self) -> (C, D, B, D) { let s = self.s(); (s.2, s.3, s.1, s.3) } fn zwzx(self) -> (C, D, C, A) { let s = self.s(); (s.2, s.3, s.2, s.0) } fn zwzy(self) -> (C, D, C, B) { let s = self.s(); (s.2, s.3, s.2, s.1) } fn zwzz(self) -> (C, D, C, C) { let s = self.s(); (s.2, s.3, s.2, s.2) } fn zwzw(self) -> (C, D, C, D) { let s = self.s(); (s.2, s.3, s.2, s.3) } fn zwwx(self) -> (C, D, D, A) { let s = self.s(); (s.2, s.3, s.3, s.0) } fn zwwy(self) -> (C, D, D, B) { let s = self.s(); (s.2, s.3, s.3, s.1) } fn zwwz(self) -> (C, D, D, C) { let s = self.s(); (s.2, s.3, s.3, s.2) } fn zwww(self) -> (C, D, D, D) { let s = self.s(); (s.2, s.3, s.3, s.3) } fn wxxx(self) -> (D, A, A, A) { let s = self.s(); (s.3, s.0, s.0, s.0) } fn wxxy(self) -> (D, A, A, B) { let s = self.s(); (s.3, s.0, s.0, s.1) } fn wxxz(self) -> (D, A, A, C) { let s = self.s(); (s.3, s.0, s.0, s.2) } fn wxxw(self) -> (D, A, A, D) { let s = self.s(); (s.3, s.0, s.0, s.3) } fn wxyx(self) -> (D, A, B, A) { let s = self.s(); (s.3, s.0, s.1, s.0) } fn wxyy(self) -> (D, A, B, B) { let s = self.s(); (s.3, s.0, s.1, s.1) } fn wxyz(self) -> (D, A, B, C) { let s = self.s(); (s.3, s.0, s.1, s.2) } fn wxyw(self) -> (D, A, B, D) { let s = self.s(); (s.3, s.0, s.1, s.3) } fn wxzx(self) -> (D, A, C, A) { let s = self.s(); (s.3, s.0, s.2, s.0) } fn wxzy(self) -> (D, A, C, B) { let s = self.s(); (s.3, s.0, s.2, s.1) } fn wxzz(self) -> (D, A, C, C) { let s = self.s(); (s.3, s.0, s.2, s.2) } fn wxzw(self) -> (D, A, C, D) { let s = self.s(); (s.3, s.0, s.2, s.3) } fn wxwx(self) -> (D, A, D, A) { let s = self.s(); (s.3, s.0, s.3, s.0) } fn wxwy(self) -> (D, A, D, B) { let s = self.s(); (s.3, s.0, s.3, s.1) } fn wxwz(self) -> (D, A, D, C) { let s = self.s(); (s.3, s.0, s.3, s.2) } fn wxww(self) -> (D, A, D, D) { let s = self.s(); (s.3, s.0, s.3, s.3) } fn wyxx(self) -> (D, B, A, A) { let s = self.s(); (s.3, s.1, s.0, s.0) } fn wyxy(self) -> (D, B, A, B) { let s = self.s(); (s.3, s.1, s.0, s.1) } fn wyxz(self) -> (D, B, A, C) { let s = self.s(); (s.3, s.1, s.0, s.2) } fn wyxw(self) -> (D, B, A, D) { let s = self.s(); (s.3, s.1, s.0, s.3) } fn wyyx(self) -> (D, B, B, A) { let s = self.s(); (s.3, s.1, s.1, s.0) } fn wyyy(self) -> (D, B, B, B) { let s = self.s(); (s.3, s.1, s.1, s.1) } fn wyyz(self) -> (D, B, B, C) { let s = self.s(); (s.3, s.1, s.1, s.2) } fn wyyw(self) -> (D, B, B, D) { let s = self.s(); (s.3, s.1, s.1, s.3) } fn wyzx(self) -> (D, B, C, A) { let s = self.s(); (s.3, s.1, s.2, s.0) } fn wyzy(self) -> (D, B, C, B) { let s = self.s(); (s.3, s.1, s.2, s.1) } fn wyzz(self) -> (D, B, C, C) { let s = self.s(); (s.3, s.1, s.2, s.2) } fn wyzw(self) -> (D, B, C, D) { let s = self.s(); (s.3, s.1, s.2, s.3) } fn wywx(self) -> (D, B, D, A) { let s = self.s(); (s.3, s.1, s.3, s.0) } fn wywy(self) -> (D, B, D, B) { let s = self.s(); (s.3, s.1, s.3, s.1) } fn wywz(self) -> (D, B, D, C) { let s = self.s(); (s.3, s.1, s.3, s.2) } fn wyww(self) -> (D, B, D, D) { let s = self.s(); (s.3, s.1, s.3, s.3) } fn wzxx(self) -> (D, C, A, A) { let s = self.s(); (s.3, s.2, s.0, s.0) } fn wzxy(self) -> (D, C, A, B) { let s = self.s(); (s.3, s.2, s.0, s.1) } fn wzxz(self) -> (D, C, A, C) { let s = self.s(); (s.3, s.2, s.0, s.2) } fn wzxw(self) -> (D, C, A, D) { let s = self.s(); (s.3, s.2, s.0, s.3) } fn wzyx(self) -> (D, C, B, A) { let s = self.s(); (s.3, s.2, s.1, s.0) } fn wzyy(self) -> (D, C, B, B) { let s = self.s(); (s.3, s.2, s.1, s.1) } fn wzyz(self) -> (D, C, B, C) { let s = self.s(); (s.3, s.2, s.1, s.2) } fn wzyw(self) -> (D, C, B, D) { let s = self.s(); (s.3, s.2, s.1, s.3) } fn wzzx(self) -> (D, C, C, A) { let s = self.s(); (s.3, s.2, s.2, s.0) } fn wzzy(self) -> (D, C, C, B) { let s = self.s(); (s.3, s.2, s.2, s.1) } fn wzzz(self) -> (D, C, C, C) { let s = self.s(); (s.3, s.2, s.2, s.2) } fn wzzw(self) -> (D, C, C, D) { let s = self.s(); (s.3, s.2, s.2, s.3) } fn wzwx(self) -> (D, C, D, A) { let s = self.s(); (s.3, s.2, s.3, s.0) } fn wzwy(self) -> (D, C, D, B) { let s = self.s(); (s.3, s.2, s.3, s.1) } fn wzwz(self) -> (D, C, D, C) { let s = self.s(); (s.3, s.2, s.3, s.2) } fn wzww(self) -> (D, C, D, D) { let s = self.s(); (s.3, s.2, s.3, s.3) } fn wwxx(self) -> (D, D, A, A) { let s = self.s(); (s.3, s.3, s.0, s.0) } fn wwxy(self) -> (D, D, A, B) { let s = self.s(); (s.3, s.3, s.0, s.1) } fn wwxz(self) -> (D, D, A, C) { let s = self.s(); (s.3, s.3, s.0, s.2) } fn wwxw(self) -> (D, D, A, D) { let s = self.s(); (s.3, s.3, s.0, s.3) } fn wwyx(self) -> (D, D, B, A) { let s = self.s(); (s.3, s.3, s.1, s.0) } fn wwyy(self) -> (D, D, B, B) { let s = self.s(); (s.3, s.3, s.1, s.1) } fn wwyz(self) -> (D, D, B, C) { let s = self.s(); (s.3, s.3, s.1, s.2) } fn wwyw(self) -> (D, D, B, D) { let s = self.s(); (s.3, s.3, s.1, s.3) } fn wwzx(self) -> (D, D, C, A) { let s = self.s(); (s.3, s.3, s.2, s.0) } fn wwzy(self) -> (D, D, C, B) { let s = self.s(); (s.3, s.3, s.2, s.1) } fn wwzz(self) -> (D, D, C, C) { let s = self.s(); (s.3, s.3, s.2, s.2) } fn wwzw(self) -> (D, D, C, D) { let s = self.s(); (s.3, s.3, s.2, s.3) } fn wwwx(self) -> (D, D, D, A) { let s = self.s(); (s.3, s.3, s.3, s.0) } fn wwwy(self) -> (D, D, D, B) { let s = self.s(); (s.3, s.3, s.3, s.1) } fn wwwz(self) -> (D, D, D, C) { let s = self.s(); (s.3, s.3, s.3, s.2) } fn wwww(self) -> (D, D, D, D) { let s = self.s(); (s.3, s.3, s.3, s.3) } fn r(self) -> A { self.s().0 } fn g(self) -> B { self.s().1 } fn b(self) -> C { self.s().2 } fn a(self) -> D { self.s().3 } fn rr(self) -> (A, A) { let s = self.s(); (s.0, s.0) } fn rg(self) -> (A, B) { let s = self.s(); (s.0, s.1) } fn rb(self) -> (A, C) { let s = self.s(); (s.0, s.2) } fn ra(self) -> (A, D) { let s = self.s(); (s.0, s.3) } fn gr(self) -> (B, A) { let s = self.s(); (s.1, s.0) } fn gg(self) -> (B, B) { let s = self.s(); (s.1, s.1) } fn gb(self) -> (B, C) { let s = self.s(); (s.1, s.2) } fn ga(self) -> (B, D) { let s = self.s(); (s.1, s.3) } fn br(self) -> (C, A) { let s = self.s(); (s.2, s.0) } fn bg(self) -> (C, B) { let s = self.s(); (s.2, s.1) } fn bb(self) -> (C, C) { let s = self.s(); (s.2, s.2) } fn ba(self) -> (C, D) { let s = self.s(); (s.2, s.3) } fn ar(self) -> (D, A) { let s = self.s(); (s.3, s.0) } fn ag(self) -> (D, B) { let s = self.s(); (s.3, s.1) } fn ab(self) -> (D, C) { let s = self.s(); (s.3, s.2) } fn aa(self) -> (D, D) { let s = self.s(); (s.3, s.3) } fn rrr(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) } fn rrg(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) } fn rrb(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) } fn rra(self) -> (A, A, D) { let s = self.s(); (s.0, s.0, s.3) } fn rgr(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) } fn rgg(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) } fn rgb(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) } fn rga(self) -> (A, B, D) { let s = self.s(); (s.0, s.1, s.3) } fn rbr(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) } fn rbg(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) } fn rbb(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) } fn rba(self) -> (A, C, D) { let s = self.s(); (s.0, s.2, s.3) } fn rar(self) -> (A, D, A) { let s = self.s(); (s.0, s.3, s.0) } fn rag(self) -> (A, D, B) { let s = self.s(); (s.0, s.3, s.1) } fn rab(self) -> (A, D, C) { let s = self.s(); (s.0, s.3, s.2) } fn raa(self) -> (A, D, D) { let s = self.s(); (s.0, s.3, s.3) } fn grr(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) } fn grg(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) } fn grb(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) } fn gra(self) -> (B, A, D) { let s = self.s(); (s.1, s.0, s.3) } fn ggr(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) } fn ggg(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) } fn ggb(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) } fn gga(self) -> (B, B, D) { let s = self.s(); (s.1, s.1, s.3) } fn gbr(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) } fn gbg(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) } fn gbb(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) } fn gba(self) -> (B, C, D) { let s = self.s(); (s.1, s.2, s.3) } fn gar(self) -> (B, D, A) { let s = self.s(); (s.1, s.3, s.0) } fn gag(self) -> (B, D, B) { let s = self.s(); (s.1, s.3, s.1) } fn gab(self) -> (B, D, C) { let s = self.s(); (s.1, s.3, s.2) } fn gaa(self) -> (B, D, D) { let s = self.s(); (s.1, s.3, s.3) } fn brr(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) } fn brg(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) } fn brb(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) } fn bra(self) -> (C, A, D) { let s = self.s(); (s.2, s.0, s.3) } fn bgr(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) } fn bgg(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) } fn bgb(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) } fn bga(self) -> (C, B, D) { let s = self.s(); (s.2, s.1, s.3) } fn bbr(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) } fn bbg(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) } fn bbb(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) } fn bba(self) -> (C, C, D) { let s = self.s(); (s.2, s.2, s.3) } fn bar(self) -> (C, D, A) { let s = self.s(); (s.2, s.3, s.0) } fn bag(self) -> (C, D, B) { let s = self.s(); (s.2, s.3, s.1) } fn bab(self) -> (C, D, C) { let s = self.s(); (s.2, s.3, s.2) } fn baa(self) -> (C, D, D) { let s = self.s(); (s.2, s.3, s.3) } fn arr(self) -> (D, A, A) { let s = self.s(); (s.3, s.0, s.0) } fn arg(self) -> (D, A, B) { let s = self.s(); (s.3, s.0, s.1) } fn arb(self) -> (D, A, C) { let s = self.s(); (s.3, s.0, s.2) } fn ara(self) -> (D, A, D) { let s = self.s(); (s.3, s.0, s.3) } fn agr(self) -> (D, B, A) { let s = self.s(); (s.3, s.1, s.0) } fn agg(self) -> (D, B, B) { let s = self.s(); (s.3, s.1, s.1) } fn agb(self) -> (D, B, C) { let s = self.s(); (s.3, s.1, s.2) } fn aga(self) -> (D, B, D) { let s = self.s(); (s.3, s.1, s.3) } fn abr(self) -> (D, C, A) { let s = self.s(); (s.3, s.2, s.0) } fn abg(self) -> (D, C, B) { let s = self.s(); (s.3, s.2, s.1) } fn abb(self) -> (D, C, C) { let s = self.s(); (s.3, s.2, s.2) } fn aba(self) -> (D, C, D) { let s = self.s(); (s.3, s.2, s.3) } fn aar(self) -> (D, D, A) { let s = self.s(); (s.3, s.3, s.0) } fn aag(self) -> (D, D, B) { let s = self.s(); (s.3, s.3, s.1) } fn aab(self) -> (D, D, C) { let s = self.s(); (s.3, s.3, s.2) } fn aaa(self) -> (D, D, D) { let s = self.s(); (s.3, s.3, s.3) } fn rrrr(self) -> (A, A, A, A) { let s = self.s(); (s.0, s.0, s.0, s.0) } fn rrrg(self) -> (A, A, A, B) { let s = self.s(); (s.0, s.0, s.0, s.1) } fn rrrb(self) -> (A, A, A, C) { let s = self.s(); (s.0, s.0, s.0, s.2) } fn rrra(self) -> (A, A, A, D) { let s = self.s(); (s.0, s.0, s.0, s.3) } fn rrgr(self) -> (A, A, B, A) { let s = self.s(); (s.0, s.0, s.1, s.0) } fn rrgg(self) -> (A, A, B, B) { let s = self.s(); (s.0, s.0, s.1, s.1) } fn rrgb(self) -> (A, A, B, C) { let s = self.s(); (s.0, s.0, s.1, s.2) } fn rrga(self) -> (A, A, B, D) { let s = self.s(); (s.0, s.0, s.1, s.3) } fn rrbr(self) -> (A, A, C, A) { let s = self.s(); (s.0, s.0, s.2, s.0) } fn rrbg(self) -> (A, A, C, B) { let s = self.s(); (s.0, s.0, s.2, s.1) } fn rrbb(self) -> (A, A, C, C) { let s = self.s(); (s.0, s.0, s.2, s.2) } fn rrba(self) -> (A, A, C, D) { let s = self.s(); (s.0, s.0, s.2, s.3) } fn rrar(self) -> (A, A, D, A) { let s = self.s(); (s.0, s.0, s.3, s.0) } fn rrag(self) -> (A, A, D, B) { let s = self.s(); (s.0, s.0, s.3, s.1) } fn rrab(self) -> (A, A, D, C) { let s = self.s(); (s.0, s.0, s.3, s.2) } fn rraa(self) -> (A, A, D, D) { let s = self.s(); (s.0, s.0, s.3, s.3) } fn rgrr(self) -> (A, B, A, A) { let s = self.s(); (s.0, s.1, s.0, s.0) } fn rgrg(self) -> (A, B, A, B) { let s = self.s(); (s.0, s.1, s.0, s.1) } fn rgrb(self) -> (A, B, A, C) { let s = self.s(); (s.0, s.1, s.0, s.2) } fn rgra(self) -> (A, B, A, D) { let s = self.s(); (s.0, s.1, s.0, s.3) } fn rggr(self) -> (A, B, B, A) { let s = self.s(); (s.0, s.1, s.1, s.0) } fn rggg(self) -> (A, B, B, B) { let s = self.s(); (s.0, s.1, s.1, s.1) } fn rggb(self) -> (A, B, B, C) { let s = self.s(); (s.0, s.1, s.1, s.2) } fn rgga(self) -> (A, B, B, D) { let s = self.s(); (s.0, s.1, s.1, s.3) } fn rgbr(self) -> (A, B, C, A) { let s = self.s(); (s.0, s.1, s.2, s.0) } fn rgbg(self) -> (A, B, C, B) { let s = self.s(); (s.0, s.1, s.2, s.1) } fn rgbb(self) -> (A, B, C, C) { let s = self.s(); (s.0, s.1, s.2, s.2) } fn rgba(self) -> (A, B, C, D) { let s = self.s(); (s.0, s.1, s.2, s.3) } fn rgar(self) -> (A, B, D, A) { let s = self.s(); (s.0, s.1, s.3, s.0) } fn rgag(self) -> (A, B, D, B) { let s = self.s(); (s.0, s.1, s.3, s.1) } fn rgab(self) -> (A, B, D, C) { let s = self.s(); (s.0, s.1, s.3, s.2) } fn rgaa(self) -> (A, B, D, D) { let s = self.s(); (s.0, s.1, s.3, s.3) } fn rbrr(self) -> (A, C, A, A) { let s = self.s(); (s.0, s.2, s.0, s.0) } fn rbrg(self) -> (A, C, A, B) { let s = self.s(); (s.0, s.2, s.0, s.1) } fn rbrb(self) -> (A, C, A, C) { let s = self.s(); (s.0, s.2, s.0, s.2) } fn rbra(self) -> (A, C, A, D) { let s = self.s(); (s.0, s.2, s.0, s.3) } fn rbgr(self) -> (A, C, B, A) { let s = self.s(); (s.0, s.2, s.1, s.0) } fn rbgg(self) -> (A, C, B, B) { let s = self.s(); (s.0, s.2, s.1, s.1) } fn rbgb(self) -> (A, C, B, C) { let s = self.s(); (s.0, s.2, s.1, s.2) } fn rbga(self) -> (A, C, B, D) { let s = self.s(); (s.0, s.2, s.1, s.3) } fn rbbr(self) -> (A, C, C, A) { let s = self.s(); (s.0, s.2, s.2, s.0) } fn rbbg(self) -> (A, C, C, B) { let s = self.s(); (s.0, s.2, s.2, s.1) } fn rbbb(self) -> (A, C, C, C) { let s = self.s(); (s.0, s.2, s.2, s.2) } fn rbba(self) -> (A, C, C, D) { let s = self.s(); (s.0, s.2, s.2, s.3) } fn rbar(self) -> (A, C, D, A) { let s = self.s(); (s.0, s.2, s.3, s.0) } fn rbag(self) -> (A, C, D, B) { let s = self.s(); (s.0, s.2, s.3, s.1) } fn rbab(self) -> (A, C, D, C) { let s = self.s(); (s.0, s.2, s.3, s.2) } fn rbaa(self) -> (A, C, D, D) { let s = self.s(); (s.0, s.2, s.3, s.3) } fn rarr(self) -> (A, D, A, A) { let s = self.s(); (s.0, s.3, s.0, s.0) } fn rarg(self) -> (A, D, A, B) { let s = self.s(); (s.0, s.3, s.0, s.1) } fn rarb(self) -> (A, D, A, C) { let s = self.s(); (s.0, s.3, s.0, s.2) } fn rara(self) -> (A, D, A, D) { let s = self.s(); (s.0, s.3, s.0, s.3) } fn ragr(self) -> (A, D, B, A) { let s = self.s(); (s.0, s.3, s.1, s.0) } fn ragg(self) -> (A, D, B, B) { let s = self.s(); (s.0, s.3, s.1, s.1) } fn ragb(self) -> (A, D, B, C) { let s = self.s(); (s.0, s.3, s.1, s.2) } fn raga(self) -> (A, D, B, D) { let s = self.s(); (s.0, s.3, s.1, s.3) } fn rabr(self) -> (A, D, C, A) { let s = self.s(); (s.0, s.3, s.2, s.0) } fn rabg(self) -> (A, D, C, B) { let s = self.s(); (s.0, s.3, s.2, s.1) } fn rabb(self) -> (A, D, C, C) { let s = self.s(); (s.0, s.3, s.2, s.2) } fn raba(self) -> (A, D, C, D) { let s = self.s(); (s.0, s.3, s.2, s.3) } fn raar(self) -> (A, D, D, A) { let s = self.s(); (s.0, s.3, s.3, s.0) } fn raag(self) -> (A, D, D, B) { let s = self.s(); (s.0, s.3, s.3, s.1) } fn raab(self) -> (A, D, D, C) { let s = self.s(); (s.0, s.3, s.3, s.2) } fn raaa(self) -> (A, D, D, D) { let s = self.s(); (s.0, s.3, s.3, s.3) } fn grrr(self) -> (B, A, A, A) { let s = self.s(); (s.1, s.0, s.0, s.0) } fn grrg(self) -> (B, A, A, B) { let s = self.s(); (s.1, s.0, s.0, s.1) } fn grrb(self) -> (B, A, A, C) { let s = self.s(); (s.1, s.0, s.0, s.2) } fn grra(self) -> (B, A, A, D) { let s = self.s(); (s.1, s.0, s.0, s.3) } fn grgr(self) -> (B, A, B, A) { let s = self.s(); (s.1, s.0, s.1, s.0) } fn grgg(self) -> (B, A, B, B) { let s = self.s(); (s.1, s.0, s.1, s.1) } fn grgb(self) -> (B, A, B, C) { let s = self.s(); (s.1, s.0, s.1, s.2) } fn grga(self) -> (B, A, B, D) { let s = self.s(); (s.1, s.0, s.1, s.3) } fn grbr(self) -> (B, A, C, A) { let s = self.s(); (s.1, s.0, s.2, s.0) } fn grbg(self) -> (B, A, C, B) { let s = self.s(); (s.1, s.0, s.2, s.1) } fn grbb(self) -> (B, A, C, C) { let s = self.s(); (s.1, s.0, s.2, s.2) } fn grba(self) -> (B, A, C, D) { let s = self.s(); (s.1, s.0, s.2, s.3) } fn grar(self) -> (B, A, D, A) { let s = self.s(); (s.1, s.0, s.3, s.0) } fn grag(self) -> (B, A, D, B) { let s = self.s(); (s.1, s.0, s.3, s.1) } fn grab(self) -> (B, A, D, C) { let s = self.s(); (s.1, s.0, s.3, s.2) } fn graa(self) -> (B, A, D, D) { let s = self.s(); (s.1, s.0, s.3, s.3) } fn ggrr(self) -> (B, B, A, A) { let s = self.s(); (s.1, s.1, s.0, s.0) } fn ggrg(self) -> (B, B, A, B) { let s = self.s(); (s.1, s.1, s.0, s.1) } fn ggrb(self) -> (B, B, A, C) { let s = self.s(); (s.1, s.1, s.0, s.2) } fn ggra(self) -> (B, B, A, D) { let s = self.s(); (s.1, s.1, s.0, s.3) } fn gggr(self) -> (B, B, B, A) { let s = self.s(); (s.1, s.1, s.1, s.0) } fn gggg(self) -> (B, B, B, B) { let s = self.s(); (s.1, s.1, s.1, s.1) } fn gggb(self) -> (B, B, B, C) { let s = self.s(); (s.1, s.1, s.1, s.2) } fn ggga(self) -> (B, B, B, D) { let s = self.s(); (s.1, s.1, s.1, s.3) } fn ggbr(self) -> (B, B, C, A) { let s = self.s(); (s.1, s.1, s.2, s.0) } fn ggbg(self) -> (B, B, C, B) { let s = self.s(); (s.1, s.1, s.2, s.1) } fn ggbb(self) -> (B, B, C, C) { let s = self.s(); (s.1, s.1, s.2, s.2) } fn ggba(self) -> (B, B, C, D) { let s = self.s(); (s.1, s.1, s.2, s.3) } fn ggar(self) -> (B, B, D, A) { let s = self.s(); (s.1, s.1, s.3, s.0) } fn ggag(self) -> (B, B, D, B) { let s = self.s(); (s.1, s.1, s.3, s.1) } fn ggab(self) -> (B, B, D, C) { let s = self.s(); (s.1, s.1, s.3, s.2) } fn ggaa(self) -> (B, B, D, D) { let s = self.s(); (s.1, s.1, s.3, s.3) } fn gbrr(self) -> (B, C, A, A) { let s = self.s(); (s.1, s.2, s.0, s.0) } fn gbrg(self) -> (B, C, A, B) { let s = self.s(); (s.1, s.2, s.0, s.1) } fn gbrb(self) -> (B, C, A, C) { let s = self.s(); (s.1, s.2, s.0, s.2) } fn gbra(self) -> (B, C, A, D) { let s = self.s(); (s.1, s.2, s.0, s.3) } fn gbgr(self) -> (B, C, B, A) { let s = self.s(); (s.1, s.2, s.1, s.0) } fn gbgg(self) -> (B, C, B, B) { let s = self.s(); (s.1, s.2, s.1, s.1) } fn gbgb(self) -> (B, C, B, C) { let s = self.s(); (s.1, s.2, s.1, s.2) } fn gbga(self) -> (B, C, B, D) { let s = self.s(); (s.1, s.2, s.1, s.3) } fn gbbr(self) -> (B, C, C, A) { let s = self.s(); (s.1, s.2, s.2, s.0) } fn gbbg(self) -> (B, C, C, B) { let s = self.s(); (s.1, s.2, s.2, s.1) } fn gbbb(self) -> (B, C, C, C) { let s = self.s(); (s.1, s.2, s.2, s.2) } fn gbba(self) -> (B, C, C, D) { let s = self.s(); (s.1, s.2, s.2, s.3) } fn gbar(self) -> (B, C, D, A) { let s = self.s(); (s.1, s.2, s.3, s.0) } fn gbag(self) -> (B, C, D, B) { let s = self.s(); (s.1, s.2, s.3, s.1) } fn gbab(self) -> (B, C, D, C) { let s = self.s(); (s.1, s.2, s.3, s.2) } fn gbaa(self) -> (B, C, D, D) { let s = self.s(); (s.1, s.2, s.3, s.3) } fn garr(self) -> (B, D, A, A) { let s = self.s(); (s.1, s.3, s.0, s.0) } fn garg(self) -> (B, D, A, B) { let s = self.s(); (s.1, s.3, s.0, s.1) } fn garb(self) -> (B, D, A, C) { let s = self.s(); (s.1, s.3, s.0, s.2) } fn gara(self) -> (B, D, A, D) { let s = self.s(); (s.1, s.3, s.0, s.3) } fn gagr(self) -> (B, D, B, A) { let s = self.s(); (s.1, s.3, s.1, s.0) } fn gagg(self) -> (B, D, B, B) { let s = self.s(); (s.1, s.3, s.1, s.1) } fn gagb(self) -> (B, D, B, C) { let s = self.s(); (s.1, s.3, s.1, s.2) } fn gaga(self) -> (B, D, B, D) { let s = self.s(); (s.1, s.3, s.1, s.3) } fn gabr(self) -> (B, D, C, A) { let s = self.s(); (s.1, s.3, s.2, s.0) } fn gabg(self) -> (B, D, C, B) { let s = self.s(); (s.1, s.3, s.2, s.1) } fn gabb(self) -> (B, D, C, C) { let s = self.s(); (s.1, s.3, s.2, s.2) } fn gaba(self) -> (B, D, C, D) { let s = self.s(); (s.1, s.3, s.2, s.3) } fn gaar(self) -> (B, D, D, A) { let s = self.s(); (s.1, s.3, s.3, s.0) } fn gaag(self) -> (B, D, D, B) { let s = self.s(); (s.1, s.3, s.3, s.1) } fn gaab(self) -> (B, D, D, C) { let s = self.s(); (s.1, s.3, s.3, s.2) } fn gaaa(self) -> (B, D, D, D) { let s = self.s(); (s.1, s.3, s.3, s.3) } fn brrr(self) -> (C, A, A, A) { let s = self.s(); (s.2, s.0, s.0, s.0) } fn brrg(self) -> (C, A, A, B) { let s = self.s(); (s.2, s.0, s.0, s.1) } fn brrb(self) -> (C, A, A, C) { let s = self.s(); (s.2, s.0, s.0, s.2) } fn brra(self) -> (C, A, A, D) { let s = self.s(); (s.2, s.0, s.0, s.3) } fn brgr(self) -> (C, A, B, A) { let s = self.s(); (s.2, s.0, s.1, s.0) } fn brgg(self) -> (C, A, B, B) { let s = self.s(); (s.2, s.0, s.1, s.1) } fn brgb(self) -> (C, A, B, C) { let s = self.s(); (s.2, s.0, s.1, s.2) } fn brga(self) -> (C, A, B, D) { let s = self.s(); (s.2, s.0, s.1, s.3) } fn brbr(self) -> (C, A, C, A) { let s = self.s(); (s.2, s.0, s.2, s.0) } fn brbg(self) -> (C, A, C, B) { let s = self.s(); (s.2, s.0, s.2, s.1) } fn brbb(self) -> (C, A, C, C) { let s = self.s(); (s.2, s.0, s.2, s.2) } fn brba(self) -> (C, A, C, D) { let s = self.s(); (s.2, s.0, s.2, s.3) } fn brar(self) -> (C, A, D, A) { let s = self.s(); (s.2, s.0, s.3, s.0) } fn brag(self) -> (C, A, D, B) { let s = self.s(); (s.2, s.0, s.3, s.1) } fn brab(self) -> (C, A, D, C) { let s = self.s(); (s.2, s.0, s.3, s.2) } fn braa(self) -> (C, A, D, D) { let s = self.s(); (s.2, s.0, s.3, s.3) } fn bgrr(self) -> (C, B, A, A) { let s = self.s(); (s.2, s.1, s.0, s.0) } fn bgrg(self) -> (C, B, A, B) { let s = self.s(); (s.2, s.1, s.0, s.1) } fn bgrb(self) -> (C, B, A, C) { let s = self.s(); (s.2, s.1, s.0, s.2) } fn bgra(self) -> (C, B, A, D) { let s = self.s(); (s.2, s.1, s.0, s.3) } fn bggr(self) -> (C, B, B, A) { let s = self.s(); (s.2, s.1, s.1, s.0) } fn bggg(self) -> (C, B, B, B) { let s = self.s(); (s.2, s.1, s.1, s.1) } fn bggb(self) -> (C, B, B, C) { let s = self.s(); (s.2, s.1, s.1, s.2) } fn bgga(self) -> (C, B, B, D) { let s = self.s(); (s.2, s.1, s.1, s.3) } fn bgbr(self) -> (C, B, C, A) { let s = self.s(); (s.2, s.1, s.2, s.0) } fn bgbg(self) -> (C, B, C, B) { let s = self.s(); (s.2, s.1, s.2, s.1) } fn bgbb(self) -> (C, B, C, C) { let s = self.s(); (s.2, s.1, s.2, s.2) } fn bgba(self) -> (C, B, C, D) { let s = self.s(); (s.2, s.1, s.2, s.3) } fn bgar(self) -> (C, B, D, A) { let s = self.s(); (s.2, s.1, s.3, s.0) } fn bgag(self) -> (C, B, D, B) { let s = self.s(); (s.2, s.1, s.3, s.1) } fn bgab(self) -> (C, B, D, C) { let s = self.s(); (s.2, s.1, s.3, s.2) } fn bgaa(self) -> (C, B, D, D) { let s = self.s(); (s.2, s.1, s.3, s.3) } fn bbrr(self) -> (C, C, A, A) { let s = self.s(); (s.2, s.2, s.0, s.0) } fn bbrg(self) -> (C, C, A, B) { let s = self.s(); (s.2, s.2, s.0, s.1) } fn bbrb(self) -> (C, C, A, C) { let s = self.s(); (s.2, s.2, s.0, s.2) } fn bbra(self) -> (C, C, A, D) { let s = self.s(); (s.2, s.2, s.0, s.3) } fn bbgr(self) -> (C, C, B, A) { let s = self.s(); (s.2, s.2, s.1, s.0) } fn bbgg(self) -> (C, C, B, B) { let s = self.s(); (s.2, s.2, s.1, s.1) } fn bbgb(self) -> (C, C, B, C) { let s = self.s(); (s.2, s.2, s.1, s.2) } fn bbga(self) -> (C, C, B, D) { let s = self.s(); (s.2, s.2, s.1, s.3) } fn bbbr(self) -> (C, C, C, A) { let s = self.s(); (s.2, s.2, s.2, s.0) } fn bbbg(self) -> (C, C, C, B) { let s = self.s(); (s.2, s.2, s.2, s.1) } fn bbbb(self) -> (C, C, C, C) { let s = self.s(); (s.2, s.2, s.2, s.2) } fn bbba(self) -> (C, C, C, D) { let s = self.s(); (s.2, s.2, s.2, s.3) } fn bbar(self) -> (C, C, D, A) { let s = self.s(); (s.2, s.2, s.3, s.0) } fn bbag(self) -> (C, C, D, B) { let s = self.s(); (s.2, s.2, s.3, s.1) } fn bbab(self) -> (C, C, D, C) { let s = self.s(); (s.2, s.2, s.3, s.2) } fn bbaa(self) -> (C, C, D, D) { let s = self.s(); (s.2, s.2, s.3, s.3) } fn barr(self) -> (C, D, A, A) { let s = self.s(); (s.2, s.3, s.0, s.0) } fn barg(self) -> (C, D, A, B) { let s = self.s(); (s.2, s.3, s.0, s.1) } fn barb(self) -> (C, D, A, C) { let s = self.s(); (s.2, s.3, s.0, s.2) } fn bara(self) -> (C, D, A, D) { let s = self.s(); (s.2, s.3, s.0, s.3) } fn bagr(self) -> (C, D, B, A) { let s = self.s(); (s.2, s.3, s.1, s.0) } fn bagg(self) -> (C, D, B, B) { let s = self.s(); (s.2, s.3, s.1, s.1) } fn bagb(self) -> (C, D, B, C) { let s = self.s(); (s.2, s.3, s.1, s.2) } fn baga(self) -> (C, D, B, D) { let s = self.s(); (s.2, s.3, s.1, s.3) } fn babr(self) -> (C, D, C, A) { let s = self.s(); (s.2, s.3, s.2, s.0) } fn babg(self) -> (C, D, C, B) { let s = self.s(); (s.2, s.3, s.2, s.1) } fn babb(self) -> (C, D, C, C) { let s = self.s(); (s.2, s.3, s.2, s.2) } fn baba(self) -> (C, D, C, D) { let s = self.s(); (s.2, s.3, s.2, s.3) } fn baar(self) -> (C, D, D, A) { let s = self.s(); (s.2, s.3, s.3, s.0) } fn baag(self) -> (C, D, D, B) { let s = self.s(); (s.2, s.3, s.3, s.1) } fn baab(self) -> (C, D, D, C) { let s = self.s(); (s.2, s.3, s.3, s.2) } fn baaa(self) -> (C, D, D, D) { let s = self.s(); (s.2, s.3, s.3, s.3) } fn arrr(self) -> (D, A, A, A) { let s = self.s(); (s.3, s.0, s.0, s.0) } fn arrg(self) -> (D, A, A, B) { let s = self.s(); (s.3, s.0, s.0, s.1) } fn arrb(self) -> (D, A, A, C) { let s = self.s(); (s.3, s.0, s.0, s.2) } fn arra(self) -> (D, A, A, D) { let s = self.s(); (s.3, s.0, s.0, s.3) } fn argr(self) -> (D, A, B, A) { let s = self.s(); (s.3, s.0, s.1, s.0) } fn argg(self) -> (D, A, B, B) { let s = self.s(); (s.3, s.0, s.1, s.1) } fn argb(self) -> (D, A, B, C) { let s = self.s(); (s.3, s.0, s.1, s.2) } fn arga(self) -> (D, A, B, D) { let s = self.s(); (s.3, s.0, s.1, s.3) } fn arbr(self) -> (D, A, C, A) { let s = self.s(); (s.3, s.0, s.2, s.0) } fn arbg(self) -> (D, A, C, B) { let s = self.s(); (s.3, s.0, s.2, s.1) } fn arbb(self) -> (D, A, C, C) { let s = self.s(); (s.3, s.0, s.2, s.2) } fn arba(self) -> (D, A, C, D) { let s = self.s(); (s.3, s.0, s.2, s.3) } fn arar(self) -> (D, A, D, A) { let s = self.s(); (s.3, s.0, s.3, s.0) } fn arag(self) -> (D, A, D, B) { let s = self.s(); (s.3, s.0, s.3, s.1) } fn arab(self) -> (D, A, D, C) { let s = self.s(); (s.3, s.0, s.3, s.2) } fn araa(self) -> (D, A, D, D) { let s = self.s(); (s.3, s.0, s.3, s.3) } fn agrr(self) -> (D, B, A, A) { let s = self.s(); (s.3, s.1, s.0, s.0) } fn agrg(self) -> (D, B, A, B) { let s = self.s(); (s.3, s.1, s.0, s.1) } fn agrb(self) -> (D, B, A, C) { let s = self.s(); (s.3, s.1, s.0, s.2) } fn agra(self) -> (D, B, A, D) { let s = self.s(); (s.3, s.1, s.0, s.3) } fn aggr(self) -> (D, B, B, A) { let s = self.s(); (s.3, s.1, s.1, s.0) } fn aggg(self) -> (D, B, B, B) { let s = self.s(); (s.3, s.1, s.1, s.1) } fn aggb(self) -> (D, B, B, C) { let s = self.s(); (s.3, s.1, s.1, s.2) } fn agga(self) -> (D, B, B, D) { let s = self.s(); (s.3, s.1, s.1, s.3) } fn agbr(self) -> (D, B, C, A) { let s = self.s(); (s.3, s.1, s.2, s.0) } fn agbg(self) -> (D, B, C, B) { let s = self.s(); (s.3, s.1, s.2, s.1) } fn agbb(self) -> (D, B, C, C) { let s = self.s(); (s.3, s.1, s.2, s.2) } fn agba(self) -> (D, B, C, D) { let s = self.s(); (s.3, s.1, s.2, s.3) } fn agar(self) -> (D, B, D, A) { let s = self.s(); (s.3, s.1, s.3, s.0) } fn agag(self) -> (D, B, D, B) { let s = self.s(); (s.3, s.1, s.3, s.1) } fn agab(self) -> (D, B, D, C) { let s = self.s(); (s.3, s.1, s.3, s.2) } fn agaa(self) -> (D, B, D, D) { let s = self.s(); (s.3, s.1, s.3, s.3) } fn abrr(self) -> (D, C, A, A) { let s = self.s(); (s.3, s.2, s.0, s.0) } fn abrg(self) -> (D, C, A, B) { let s = self.s(); (s.3, s.2, s.0, s.1) } fn abrb(self) -> (D, C, A, C) { let s = self.s(); (s.3, s.2, s.0, s.2) } fn abra(self) -> (D, C, A, D) { let s = self.s(); (s.3, s.2, s.0, s.3) } fn abgr(self) -> (D, C, B, A) { let s = self.s(); (s.3, s.2, s.1, s.0) } fn abgg(self) -> (D, C, B, B) { let s = self.s(); (s.3, s.2, s.1, s.1) } fn abgb(self) -> (D, C, B, C) { let s = self.s(); (s.3, s.2, s.1, s.2) } fn abga(self) -> (D, C, B, D) { let s = self.s(); (s.3, s.2, s.1, s.3) } fn abbr(self) -> (D, C, C, A) { let s = self.s(); (s.3, s.2, s.2, s.0) } fn abbg(self) -> (D, C, C, B) { let s = self.s(); (s.3, s.2, s.2, s.1) } fn abbb(self) -> (D, C, C, C) { let s = self.s(); (s.3, s.2, s.2, s.2) } fn abba(self) -> (D, C, C, D) { let s = self.s(); (s.3, s.2, s.2, s.3) } fn abar(self) -> (D, C, D, A) { let s = self.s(); (s.3, s.2, s.3, s.0) } fn abag(self) -> (D, C, D, B) { let s = self.s(); (s.3, s.2, s.3, s.1) } fn abab(self) -> (D, C, D, C) { let s = self.s(); (s.3, s.2, s.3, s.2) } fn abaa(self) -> (D, C, D, D) { let s = self.s(); (s.3, s.2, s.3, s.3) } fn aarr(self) -> (D, D, A, A) { let s = self.s(); (s.3, s.3, s.0, s.0) } fn aarg(self) -> (D, D, A, B) { let s = self.s(); (s.3, s.3, s.0, s.1) } fn aarb(self) -> (D, D, A, C) { let s = self.s(); (s.3, s.3, s.0, s.2) } fn aara(self) -> (D, D, A, D) { let s = self.s(); (s.3, s.3, s.0, s.3) } fn aagr(self) -> (D, D, B, A) { let s = self.s(); (s.3, s.3, s.1, s.0) } fn aagg(self) -> (D, D, B, B) { let s = self.s(); (s.3, s.3, s.1, s.1) } fn aagb(self) -> (D, D, B, C) { let s = self.s(); (s.3, s.3, s.1, s.2) } fn aaga(self) -> (D, D, B, D) { let s = self.s(); (s.3, s.3, s.1, s.3) } fn aabr(self) -> (D, D, C, A) { let s = self.s(); (s.3, s.3, s.2, s.0) } fn aabg(self) -> (D, D, C, B) { let s = self.s(); (s.3, s.3, s.2, s.1) } fn aabb(self) -> (D, D, C, C) { let s = self.s(); (s.3, s.3, s.2, s.2) } fn aaba(self) -> (D, D, C, D) { let s = self.s(); (s.3, s.3, s.2, s.3) } fn aaar(self) -> (D, D, D, A) { let s = self.s(); (s.3, s.3, s.3, s.0) } fn aaag(self) -> (D, D, D, B) { let s = self.s(); (s.3, s.3, s.3, s.1) } fn aaab(self) -> (D, D, D, C) { let s = self.s(); (s.3, s.3, s.3, s.2) } fn aaaa(self) -> (D, D, D, D) { let s = self.s(); (s.3, s.3, s.3, s.3) } } } use s::*; impl TupleSwizzle2 for (A, B) { fn s(self) -> (A, B) { self } } impl TupleSwizzle2 for [T; 2] { fn s(self) -> (T, T) { (self[0], self[1]) } } impl TupleSwizzle3 for (A, B, C) { fn s(self) -> (A, B, C) { self } } impl TupleSwizzle3 for [T; 3] { fn s(self) -> (T, T, T) { (self[0], self[1], self[2]) } } impl TupleSwizzle4 for (A, B, C, D) { fn s(self) -> (A, B, C, D) { self } } impl TupleSwizzle4 for [T; 4] { fn s(self) -> (T, T, T, T) { (self[0], self[1], self[2], self[3]) } }