1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file. 2 3 use crate::{UVec2, UVec3, UVec4, Vec2Swizzles}; 4 5 impl Vec2Swizzles for UVec2 { 6 type Vec3 = UVec3; 7 8 type Vec4 = UVec4; 9 10 #[inline] 11 #[must_use] xx(self) -> UVec212 fn xx(self) -> UVec2 { 13 UVec2 { 14 x: self.x, 15 y: self.x, 16 } 17 } 18 19 #[inline] 20 #[must_use] xy(self) -> UVec221 fn xy(self) -> UVec2 { 22 UVec2 { 23 x: self.x, 24 y: self.y, 25 } 26 } 27 28 #[inline] 29 #[must_use] yx(self) -> UVec230 fn yx(self) -> UVec2 { 31 UVec2 { 32 x: self.y, 33 y: self.x, 34 } 35 } 36 37 #[inline] 38 #[must_use] yy(self) -> UVec239 fn yy(self) -> UVec2 { 40 UVec2 { 41 x: self.y, 42 y: self.y, 43 } 44 } 45 46 #[inline] 47 #[must_use] xxx(self) -> UVec348 fn xxx(self) -> UVec3 { 49 UVec3 { 50 x: self.x, 51 y: self.x, 52 z: self.x, 53 } 54 } 55 56 #[inline] 57 #[must_use] xxy(self) -> UVec358 fn xxy(self) -> UVec3 { 59 UVec3 { 60 x: self.x, 61 y: self.x, 62 z: self.y, 63 } 64 } 65 66 #[inline] 67 #[must_use] xyx(self) -> UVec368 fn xyx(self) -> UVec3 { 69 UVec3 { 70 x: self.x, 71 y: self.y, 72 z: self.x, 73 } 74 } 75 76 #[inline] 77 #[must_use] xyy(self) -> UVec378 fn xyy(self) -> UVec3 { 79 UVec3 { 80 x: self.x, 81 y: self.y, 82 z: self.y, 83 } 84 } 85 86 #[inline] 87 #[must_use] yxx(self) -> UVec388 fn yxx(self) -> UVec3 { 89 UVec3 { 90 x: self.y, 91 y: self.x, 92 z: self.x, 93 } 94 } 95 96 #[inline] 97 #[must_use] yxy(self) -> UVec398 fn yxy(self) -> UVec3 { 99 UVec3 { 100 x: self.y, 101 y: self.x, 102 z: self.y, 103 } 104 } 105 106 #[inline] 107 #[must_use] yyx(self) -> UVec3108 fn yyx(self) -> UVec3 { 109 UVec3 { 110 x: self.y, 111 y: self.y, 112 z: self.x, 113 } 114 } 115 116 #[inline] 117 #[must_use] yyy(self) -> UVec3118 fn yyy(self) -> UVec3 { 119 UVec3 { 120 x: self.y, 121 y: self.y, 122 z: self.y, 123 } 124 } 125 126 #[inline] 127 #[must_use] xxxx(self) -> UVec4128 fn xxxx(self) -> UVec4 { 129 UVec4::new(self.x, self.x, self.x, self.x) 130 } 131 132 #[inline] 133 #[must_use] xxxy(self) -> UVec4134 fn xxxy(self) -> UVec4 { 135 UVec4::new(self.x, self.x, self.x, self.y) 136 } 137 138 #[inline] 139 #[must_use] xxyx(self) -> UVec4140 fn xxyx(self) -> UVec4 { 141 UVec4::new(self.x, self.x, self.y, self.x) 142 } 143 144 #[inline] 145 #[must_use] xxyy(self) -> UVec4146 fn xxyy(self) -> UVec4 { 147 UVec4::new(self.x, self.x, self.y, self.y) 148 } 149 150 #[inline] 151 #[must_use] xyxx(self) -> UVec4152 fn xyxx(self) -> UVec4 { 153 UVec4::new(self.x, self.y, self.x, self.x) 154 } 155 156 #[inline] 157 #[must_use] xyxy(self) -> UVec4158 fn xyxy(self) -> UVec4 { 159 UVec4::new(self.x, self.y, self.x, self.y) 160 } 161 162 #[inline] 163 #[must_use] xyyx(self) -> UVec4164 fn xyyx(self) -> UVec4 { 165 UVec4::new(self.x, self.y, self.y, self.x) 166 } 167 168 #[inline] 169 #[must_use] xyyy(self) -> UVec4170 fn xyyy(self) -> UVec4 { 171 UVec4::new(self.x, self.y, self.y, self.y) 172 } 173 174 #[inline] 175 #[must_use] yxxx(self) -> UVec4176 fn yxxx(self) -> UVec4 { 177 UVec4::new(self.y, self.x, self.x, self.x) 178 } 179 180 #[inline] 181 #[must_use] yxxy(self) -> UVec4182 fn yxxy(self) -> UVec4 { 183 UVec4::new(self.y, self.x, self.x, self.y) 184 } 185 186 #[inline] 187 #[must_use] yxyx(self) -> UVec4188 fn yxyx(self) -> UVec4 { 189 UVec4::new(self.y, self.x, self.y, self.x) 190 } 191 192 #[inline] 193 #[must_use] yxyy(self) -> UVec4194 fn yxyy(self) -> UVec4 { 195 UVec4::new(self.y, self.x, self.y, self.y) 196 } 197 198 #[inline] 199 #[must_use] yyxx(self) -> UVec4200 fn yyxx(self) -> UVec4 { 201 UVec4::new(self.y, self.y, self.x, self.x) 202 } 203 204 #[inline] 205 #[must_use] yyxy(self) -> UVec4206 fn yyxy(self) -> UVec4 { 207 UVec4::new(self.y, self.y, self.x, self.y) 208 } 209 210 #[inline] 211 #[must_use] yyyx(self) -> UVec4212 fn yyyx(self) -> UVec4 { 213 UVec4::new(self.y, self.y, self.y, self.x) 214 } 215 216 #[inline] 217 #[must_use] yyyy(self) -> UVec4218 fn yyyy(self) -> UVec4 { 219 UVec4::new(self.y, self.y, self.y, self.y) 220 } 221 } 222