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