1 | // pathfinder/simd/src/scalar/swizzle_f32x4.rs |
2 | // |
3 | // Copyright © 2019 The Pathfinder Project Developers. |
4 | // |
5 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
6 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
7 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
8 | // option. This file may not be copied, modified, or distributed |
9 | // except according to those terms. |
10 | |
11 | use crate::scalar::F32x4; |
12 | |
13 | impl F32x4 { |
14 | /// Constructs a new vector from the first, first, first, and first |
15 | /// lanes in this vector, respectively. |
16 | #[inline ] |
17 | pub fn xxxx(self) -> F32x4 { |
18 | F32x4([self[0], self[0], self[0], self[0]]) |
19 | } |
20 | |
21 | /// Constructs a new vector from the second, first, first, and first |
22 | /// lanes in this vector, respectively. |
23 | #[inline ] |
24 | pub fn yxxx(self) -> F32x4 { |
25 | F32x4([self[1], self[0], self[0], self[0]]) |
26 | } |
27 | |
28 | /// Constructs a new vector from the third, first, first, and first |
29 | /// lanes in this vector, respectively. |
30 | #[inline ] |
31 | pub fn zxxx(self) -> F32x4 { |
32 | F32x4([self[2], self[0], self[0], self[0]]) |
33 | } |
34 | |
35 | /// Constructs a new vector from the fourth, first, first, and first |
36 | /// lanes in this vector, respectively. |
37 | #[inline ] |
38 | pub fn wxxx(self) -> F32x4 { |
39 | F32x4([self[3], self[0], self[0], self[0]]) |
40 | } |
41 | |
42 | /// Constructs a new vector from the first, second, first, and first |
43 | /// lanes in this vector, respectively. |
44 | #[inline ] |
45 | pub fn xyxx(self) -> F32x4 { |
46 | F32x4([self[0], self[1], self[0], self[0]]) |
47 | } |
48 | |
49 | /// Constructs a new vector from the second, second, first, and first |
50 | /// lanes in this vector, respectively. |
51 | #[inline ] |
52 | pub fn yyxx(self) -> F32x4 { |
53 | F32x4([self[1], self[1], self[0], self[0]]) |
54 | } |
55 | |
56 | /// Constructs a new vector from the third, second, first, and first |
57 | /// lanes in this vector, respectively. |
58 | #[inline ] |
59 | pub fn zyxx(self) -> F32x4 { |
60 | F32x4([self[2], self[1], self[0], self[0]]) |
61 | } |
62 | |
63 | /// Constructs a new vector from the fourth, second, first, and first |
64 | /// lanes in this vector, respectively. |
65 | #[inline ] |
66 | pub fn wyxx(self) -> F32x4 { |
67 | F32x4([self[3], self[1], self[0], self[0]]) |
68 | } |
69 | |
70 | /// Constructs a new vector from the first, third, first, and first |
71 | /// lanes in this vector, respectively. |
72 | #[inline ] |
73 | pub fn xzxx(self) -> F32x4 { |
74 | F32x4([self[0], self[2], self[0], self[0]]) |
75 | } |
76 | |
77 | /// Constructs a new vector from the second, third, first, and first |
78 | /// lanes in this vector, respectively. |
79 | #[inline ] |
80 | pub fn yzxx(self) -> F32x4 { |
81 | F32x4([self[1], self[2], self[0], self[0]]) |
82 | } |
83 | |
84 | /// Constructs a new vector from the third, third, first, and first |
85 | /// lanes in this vector, respectively. |
86 | #[inline ] |
87 | pub fn zzxx(self) -> F32x4 { |
88 | F32x4([self[2], self[2], self[0], self[0]]) |
89 | } |
90 | |
91 | /// Constructs a new vector from the fourth, third, first, and first |
92 | /// lanes in this vector, respectively. |
93 | #[inline ] |
94 | pub fn wzxx(self) -> F32x4 { |
95 | F32x4([self[3], self[2], self[0], self[0]]) |
96 | } |
97 | |
98 | /// Constructs a new vector from the first, fourth, first, and first |
99 | /// lanes in this vector, respectively. |
100 | #[inline ] |
101 | pub fn xwxx(self) -> F32x4 { |
102 | F32x4([self[0], self[3], self[0], self[0]]) |
103 | } |
104 | |
105 | /// Constructs a new vector from the second, fourth, first, and first |
106 | /// lanes in this vector, respectively. |
107 | #[inline ] |
108 | pub fn ywxx(self) -> F32x4 { |
109 | F32x4([self[1], self[3], self[0], self[0]]) |
110 | } |
111 | |
112 | /// Constructs a new vector from the third, fourth, first, and first |
113 | /// lanes in this vector, respectively. |
114 | #[inline ] |
115 | pub fn zwxx(self) -> F32x4 { |
116 | F32x4([self[2], self[3], self[0], self[0]]) |
117 | } |
118 | |
119 | /// Constructs a new vector from the fourth, fourth, first, and first |
120 | /// lanes in this vector, respectively. |
121 | #[inline ] |
122 | pub fn wwxx(self) -> F32x4 { |
123 | F32x4([self[3], self[3], self[0], self[0]]) |
124 | } |
125 | |
126 | /// Constructs a new vector from the first, first, second, and first |
127 | /// lanes in this vector, respectively. |
128 | #[inline ] |
129 | pub fn xxyx(self) -> F32x4 { |
130 | F32x4([self[0], self[0], self[1], self[0]]) |
131 | } |
132 | |
133 | /// Constructs a new vector from the second, first, second, and first |
134 | /// lanes in this vector, respectively. |
135 | #[inline ] |
136 | pub fn yxyx(self) -> F32x4 { |
137 | F32x4([self[1], self[0], self[1], self[0]]) |
138 | } |
139 | |
140 | /// Constructs a new vector from the third, first, second, and first |
141 | /// lanes in this vector, respectively. |
142 | #[inline ] |
143 | pub fn zxyx(self) -> F32x4 { |
144 | F32x4([self[2], self[0], self[1], self[0]]) |
145 | } |
146 | |
147 | /// Constructs a new vector from the fourth, first, second, and first |
148 | /// lanes in this vector, respectively. |
149 | #[inline ] |
150 | pub fn wxyx(self) -> F32x4 { |
151 | F32x4([self[3], self[0], self[1], self[0]]) |
152 | } |
153 | |
154 | /// Constructs a new vector from the first, second, second, and first |
155 | /// lanes in this vector, respectively. |
156 | #[inline ] |
157 | pub fn xyyx(self) -> F32x4 { |
158 | F32x4([self[0], self[1], self[1], self[0]]) |
159 | } |
160 | |
161 | /// Constructs a new vector from the second, second, second, and first |
162 | /// lanes in this vector, respectively. |
163 | #[inline ] |
164 | pub fn yyyx(self) -> F32x4 { |
165 | F32x4([self[1], self[1], self[1], self[0]]) |
166 | } |
167 | |
168 | /// Constructs a new vector from the third, second, second, and first |
169 | /// lanes in this vector, respectively. |
170 | #[inline ] |
171 | pub fn zyyx(self) -> F32x4 { |
172 | F32x4([self[2], self[1], self[1], self[0]]) |
173 | } |
174 | |
175 | /// Constructs a new vector from the fourth, second, second, and first |
176 | /// lanes in this vector, respectively. |
177 | #[inline ] |
178 | pub fn wyyx(self) -> F32x4 { |
179 | F32x4([self[3], self[1], self[1], self[0]]) |
180 | } |
181 | |
182 | /// Constructs a new vector from the first, third, second, and first |
183 | /// lanes in this vector, respectively. |
184 | #[inline ] |
185 | pub fn xzyx(self) -> F32x4 { |
186 | F32x4([self[0], self[2], self[1], self[0]]) |
187 | } |
188 | |
189 | /// Constructs a new vector from the second, third, second, and first |
190 | /// lanes in this vector, respectively. |
191 | #[inline ] |
192 | pub fn yzyx(self) -> F32x4 { |
193 | F32x4([self[1], self[2], self[1], self[0]]) |
194 | } |
195 | |
196 | /// Constructs a new vector from the third, third, second, and first |
197 | /// lanes in this vector, respectively. |
198 | #[inline ] |
199 | pub fn zzyx(self) -> F32x4 { |
200 | F32x4([self[2], self[2], self[1], self[0]]) |
201 | } |
202 | |
203 | /// Constructs a new vector from the fourth, third, second, and first |
204 | /// lanes in this vector, respectively. |
205 | #[inline ] |
206 | pub fn wzyx(self) -> F32x4 { |
207 | F32x4([self[3], self[2], self[1], self[0]]) |
208 | } |
209 | |
210 | /// Constructs a new vector from the first, fourth, second, and first |
211 | /// lanes in this vector, respectively. |
212 | #[inline ] |
213 | pub fn xwyx(self) -> F32x4 { |
214 | F32x4([self[0], self[3], self[1], self[0]]) |
215 | } |
216 | |
217 | /// Constructs a new vector from the second, fourth, second, and first |
218 | /// lanes in this vector, respectively. |
219 | #[inline ] |
220 | pub fn ywyx(self) -> F32x4 { |
221 | F32x4([self[1], self[3], self[1], self[0]]) |
222 | } |
223 | |
224 | /// Constructs a new vector from the third, fourth, second, and first |
225 | /// lanes in this vector, respectively. |
226 | #[inline ] |
227 | pub fn zwyx(self) -> F32x4 { |
228 | F32x4([self[2], self[3], self[1], self[0]]) |
229 | } |
230 | |
231 | /// Constructs a new vector from the fourth, fourth, second, and first |
232 | /// lanes in this vector, respectively. |
233 | #[inline ] |
234 | pub fn wwyx(self) -> F32x4 { |
235 | F32x4([self[3], self[3], self[1], self[0]]) |
236 | } |
237 | |
238 | /// Constructs a new vector from the first, first, third, and first |
239 | /// lanes in this vector, respectively. |
240 | #[inline ] |
241 | pub fn xxzx(self) -> F32x4 { |
242 | F32x4([self[0], self[0], self[2], self[0]]) |
243 | } |
244 | |
245 | /// Constructs a new vector from the second, first, third, and first |
246 | /// lanes in this vector, respectively. |
247 | #[inline ] |
248 | pub fn yxzx(self) -> F32x4 { |
249 | F32x4([self[1], self[0], self[2], self[0]]) |
250 | } |
251 | |
252 | /// Constructs a new vector from the third, first, third, and first |
253 | /// lanes in this vector, respectively. |
254 | #[inline ] |
255 | pub fn zxzx(self) -> F32x4 { |
256 | F32x4([self[2], self[0], self[2], self[0]]) |
257 | } |
258 | |
259 | /// Constructs a new vector from the fourth, first, third, and first |
260 | /// lanes in this vector, respectively. |
261 | #[inline ] |
262 | pub fn wxzx(self) -> F32x4 { |
263 | F32x4([self[3], self[0], self[2], self[0]]) |
264 | } |
265 | |
266 | /// Constructs a new vector from the first, second, third, and first |
267 | /// lanes in this vector, respectively. |
268 | #[inline ] |
269 | pub fn xyzx(self) -> F32x4 { |
270 | F32x4([self[0], self[1], self[2], self[0]]) |
271 | } |
272 | |
273 | /// Constructs a new vector from the second, second, third, and first |
274 | /// lanes in this vector, respectively. |
275 | #[inline ] |
276 | pub fn yyzx(self) -> F32x4 { |
277 | F32x4([self[1], self[1], self[2], self[0]]) |
278 | } |
279 | |
280 | /// Constructs a new vector from the third, second, third, and first |
281 | /// lanes in this vector, respectively. |
282 | #[inline ] |
283 | pub fn zyzx(self) -> F32x4 { |
284 | F32x4([self[2], self[1], self[2], self[0]]) |
285 | } |
286 | |
287 | /// Constructs a new vector from the fourth, second, third, and first |
288 | /// lanes in this vector, respectively. |
289 | #[inline ] |
290 | pub fn wyzx(self) -> F32x4 { |
291 | F32x4([self[3], self[1], self[2], self[0]]) |
292 | } |
293 | |
294 | /// Constructs a new vector from the first, third, third, and first |
295 | /// lanes in this vector, respectively. |
296 | #[inline ] |
297 | pub fn xzzx(self) -> F32x4 { |
298 | F32x4([self[0], self[2], self[2], self[0]]) |
299 | } |
300 | |
301 | /// Constructs a new vector from the second, third, third, and first |
302 | /// lanes in this vector, respectively. |
303 | #[inline ] |
304 | pub fn yzzx(self) -> F32x4 { |
305 | F32x4([self[1], self[2], self[2], self[0]]) |
306 | } |
307 | |
308 | /// Constructs a new vector from the third, third, third, and first |
309 | /// lanes in this vector, respectively. |
310 | #[inline ] |
311 | pub fn zzzx(self) -> F32x4 { |
312 | F32x4([self[2], self[2], self[2], self[0]]) |
313 | } |
314 | |
315 | /// Constructs a new vector from the fourth, third, third, and first |
316 | /// lanes in this vector, respectively. |
317 | #[inline ] |
318 | pub fn wzzx(self) -> F32x4 { |
319 | F32x4([self[3], self[2], self[2], self[0]]) |
320 | } |
321 | |
322 | /// Constructs a new vector from the first, fourth, third, and first |
323 | /// lanes in this vector, respectively. |
324 | #[inline ] |
325 | pub fn xwzx(self) -> F32x4 { |
326 | F32x4([self[0], self[3], self[2], self[0]]) |
327 | } |
328 | |
329 | /// Constructs a new vector from the second, fourth, third, and first |
330 | /// lanes in this vector, respectively. |
331 | #[inline ] |
332 | pub fn ywzx(self) -> F32x4 { |
333 | F32x4([self[1], self[3], self[2], self[0]]) |
334 | } |
335 | |
336 | /// Constructs a new vector from the third, fourth, third, and first |
337 | /// lanes in this vector, respectively. |
338 | #[inline ] |
339 | pub fn zwzx(self) -> F32x4 { |
340 | F32x4([self[2], self[3], self[2], self[0]]) |
341 | } |
342 | |
343 | /// Constructs a new vector from the fourth, fourth, third, and first |
344 | /// lanes in this vector, respectively. |
345 | #[inline ] |
346 | pub fn wwzx(self) -> F32x4 { |
347 | F32x4([self[3], self[3], self[2], self[0]]) |
348 | } |
349 | |
350 | /// Constructs a new vector from the first, first, fourth, and first |
351 | /// lanes in this vector, respectively. |
352 | #[inline ] |
353 | pub fn xxwx(self) -> F32x4 { |
354 | F32x4([self[0], self[0], self[3], self[0]]) |
355 | } |
356 | |
357 | /// Constructs a new vector from the second, first, fourth, and first |
358 | /// lanes in this vector, respectively. |
359 | #[inline ] |
360 | pub fn yxwx(self) -> F32x4 { |
361 | F32x4([self[1], self[0], self[3], self[0]]) |
362 | } |
363 | |
364 | /// Constructs a new vector from the third, first, fourth, and first |
365 | /// lanes in this vector, respectively. |
366 | #[inline ] |
367 | pub fn zxwx(self) -> F32x4 { |
368 | F32x4([self[2], self[0], self[3], self[0]]) |
369 | } |
370 | |
371 | /// Constructs a new vector from the fourth, first, fourth, and first |
372 | /// lanes in this vector, respectively. |
373 | #[inline ] |
374 | pub fn wxwx(self) -> F32x4 { |
375 | F32x4([self[3], self[0], self[3], self[0]]) |
376 | } |
377 | |
378 | /// Constructs a new vector from the first, second, fourth, and first |
379 | /// lanes in this vector, respectively. |
380 | #[inline ] |
381 | pub fn xywx(self) -> F32x4 { |
382 | F32x4([self[0], self[1], self[3], self[0]]) |
383 | } |
384 | |
385 | /// Constructs a new vector from the second, second, fourth, and first |
386 | /// lanes in this vector, respectively. |
387 | #[inline ] |
388 | pub fn yywx(self) -> F32x4 { |
389 | F32x4([self[1], self[1], self[3], self[0]]) |
390 | } |
391 | |
392 | /// Constructs a new vector from the third, second, fourth, and first |
393 | /// lanes in this vector, respectively. |
394 | #[inline ] |
395 | pub fn zywx(self) -> F32x4 { |
396 | F32x4([self[2], self[1], self[3], self[0]]) |
397 | } |
398 | |
399 | /// Constructs a new vector from the fourth, second, fourth, and first |
400 | /// lanes in this vector, respectively. |
401 | #[inline ] |
402 | pub fn wywx(self) -> F32x4 { |
403 | F32x4([self[3], self[1], self[3], self[0]]) |
404 | } |
405 | |
406 | /// Constructs a new vector from the first, third, fourth, and first |
407 | /// lanes in this vector, respectively. |
408 | #[inline ] |
409 | pub fn xzwx(self) -> F32x4 { |
410 | F32x4([self[0], self[2], self[3], self[0]]) |
411 | } |
412 | |
413 | /// Constructs a new vector from the second, third, fourth, and first |
414 | /// lanes in this vector, respectively. |
415 | #[inline ] |
416 | pub fn yzwx(self) -> F32x4 { |
417 | F32x4([self[1], self[2], self[3], self[0]]) |
418 | } |
419 | |
420 | /// Constructs a new vector from the third, third, fourth, and first |
421 | /// lanes in this vector, respectively. |
422 | #[inline ] |
423 | pub fn zzwx(self) -> F32x4 { |
424 | F32x4([self[2], self[2], self[3], self[0]]) |
425 | } |
426 | |
427 | /// Constructs a new vector from the fourth, third, fourth, and first |
428 | /// lanes in this vector, respectively. |
429 | #[inline ] |
430 | pub fn wzwx(self) -> F32x4 { |
431 | F32x4([self[3], self[2], self[3], self[0]]) |
432 | } |
433 | |
434 | /// Constructs a new vector from the first, fourth, fourth, and first |
435 | /// lanes in this vector, respectively. |
436 | #[inline ] |
437 | pub fn xwwx(self) -> F32x4 { |
438 | F32x4([self[0], self[3], self[3], self[0]]) |
439 | } |
440 | |
441 | /// Constructs a new vector from the second, fourth, fourth, and first |
442 | /// lanes in this vector, respectively. |
443 | #[inline ] |
444 | pub fn ywwx(self) -> F32x4 { |
445 | F32x4([self[1], self[3], self[3], self[0]]) |
446 | } |
447 | |
448 | /// Constructs a new vector from the third, fourth, fourth, and first |
449 | /// lanes in this vector, respectively. |
450 | #[inline ] |
451 | pub fn zwwx(self) -> F32x4 { |
452 | F32x4([self[2], self[3], self[3], self[0]]) |
453 | } |
454 | |
455 | /// Constructs a new vector from the fourth, fourth, fourth, and first |
456 | /// lanes in this vector, respectively. |
457 | #[inline ] |
458 | pub fn wwwx(self) -> F32x4 { |
459 | F32x4([self[3], self[3], self[3], self[0]]) |
460 | } |
461 | |
462 | /// Constructs a new vector from the first, first, first, and second |
463 | /// lanes in this vector, respectively. |
464 | #[inline ] |
465 | pub fn xxxy(self) -> F32x4 { |
466 | F32x4([self[0], self[0], self[0], self[1]]) |
467 | } |
468 | |
469 | /// Constructs a new vector from the second, first, first, and second |
470 | /// lanes in this vector, respectively. |
471 | #[inline ] |
472 | pub fn yxxy(self) -> F32x4 { |
473 | F32x4([self[1], self[0], self[0], self[1]]) |
474 | } |
475 | |
476 | /// Constructs a new vector from the third, first, first, and second |
477 | /// lanes in this vector, respectively. |
478 | #[inline ] |
479 | pub fn zxxy(self) -> F32x4 { |
480 | F32x4([self[2], self[0], self[0], self[1]]) |
481 | } |
482 | |
483 | /// Constructs a new vector from the fourth, first, first, and second |
484 | /// lanes in this vector, respectively. |
485 | #[inline ] |
486 | pub fn wxxy(self) -> F32x4 { |
487 | F32x4([self[3], self[0], self[0], self[1]]) |
488 | } |
489 | |
490 | /// Constructs a new vector from the first, second, first, and second |
491 | /// lanes in this vector, respectively. |
492 | #[inline ] |
493 | pub fn xyxy(self) -> F32x4 { |
494 | F32x4([self[0], self[1], self[0], self[1]]) |
495 | } |
496 | |
497 | /// Constructs a new vector from the second, second, first, and second |
498 | /// lanes in this vector, respectively. |
499 | #[inline ] |
500 | pub fn yyxy(self) -> F32x4 { |
501 | F32x4([self[1], self[1], self[0], self[1]]) |
502 | } |
503 | |
504 | /// Constructs a new vector from the third, second, first, and second |
505 | /// lanes in this vector, respectively. |
506 | #[inline ] |
507 | pub fn zyxy(self) -> F32x4 { |
508 | F32x4([self[2], self[1], self[0], self[1]]) |
509 | } |
510 | |
511 | /// Constructs a new vector from the fourth, second, first, and second |
512 | /// lanes in this vector, respectively. |
513 | #[inline ] |
514 | pub fn wyxy(self) -> F32x4 { |
515 | F32x4([self[3], self[1], self[0], self[1]]) |
516 | } |
517 | |
518 | /// Constructs a new vector from the first, third, first, and second |
519 | /// lanes in this vector, respectively. |
520 | #[inline ] |
521 | pub fn xzxy(self) -> F32x4 { |
522 | F32x4([self[0], self[2], self[0], self[1]]) |
523 | } |
524 | |
525 | /// Constructs a new vector from the second, third, first, and second |
526 | /// lanes in this vector, respectively. |
527 | #[inline ] |
528 | pub fn yzxy(self) -> F32x4 { |
529 | F32x4([self[1], self[2], self[0], self[1]]) |
530 | } |
531 | |
532 | /// Constructs a new vector from the third, third, first, and second |
533 | /// lanes in this vector, respectively. |
534 | #[inline ] |
535 | pub fn zzxy(self) -> F32x4 { |
536 | F32x4([self[2], self[2], self[0], self[1]]) |
537 | } |
538 | |
539 | /// Constructs a new vector from the fourth, third, first, and second |
540 | /// lanes in this vector, respectively. |
541 | #[inline ] |
542 | pub fn wzxy(self) -> F32x4 { |
543 | F32x4([self[3], self[2], self[0], self[1]]) |
544 | } |
545 | |
546 | /// Constructs a new vector from the first, fourth, first, and second |
547 | /// lanes in this vector, respectively. |
548 | #[inline ] |
549 | pub fn xwxy(self) -> F32x4 { |
550 | F32x4([self[0], self[3], self[0], self[1]]) |
551 | } |
552 | |
553 | /// Constructs a new vector from the second, fourth, first, and second |
554 | /// lanes in this vector, respectively. |
555 | #[inline ] |
556 | pub fn ywxy(self) -> F32x4 { |
557 | F32x4([self[1], self[3], self[0], self[1]]) |
558 | } |
559 | |
560 | /// Constructs a new vector from the third, fourth, first, and second |
561 | /// lanes in this vector, respectively. |
562 | #[inline ] |
563 | pub fn zwxy(self) -> F32x4 { |
564 | F32x4([self[2], self[3], self[0], self[1]]) |
565 | } |
566 | |
567 | /// Constructs a new vector from the fourth, fourth, first, and second |
568 | /// lanes in this vector, respectively. |
569 | #[inline ] |
570 | pub fn wwxy(self) -> F32x4 { |
571 | F32x4([self[3], self[3], self[0], self[1]]) |
572 | } |
573 | |
574 | /// Constructs a new vector from the first, first, second, and second |
575 | /// lanes in this vector, respectively. |
576 | #[inline ] |
577 | pub fn xxyy(self) -> F32x4 { |
578 | F32x4([self[0], self[0], self[1], self[1]]) |
579 | } |
580 | |
581 | /// Constructs a new vector from the second, first, second, and second |
582 | /// lanes in this vector, respectively. |
583 | #[inline ] |
584 | pub fn yxyy(self) -> F32x4 { |
585 | F32x4([self[1], self[0], self[1], self[1]]) |
586 | } |
587 | |
588 | /// Constructs a new vector from the third, first, second, and second |
589 | /// lanes in this vector, respectively. |
590 | #[inline ] |
591 | pub fn zxyy(self) -> F32x4 { |
592 | F32x4([self[2], self[0], self[1], self[1]]) |
593 | } |
594 | |
595 | /// Constructs a new vector from the fourth, first, second, and second |
596 | /// lanes in this vector, respectively. |
597 | #[inline ] |
598 | pub fn wxyy(self) -> F32x4 { |
599 | F32x4([self[3], self[0], self[1], self[1]]) |
600 | } |
601 | |
602 | /// Constructs a new vector from the first, second, second, and second |
603 | /// lanes in this vector, respectively. |
604 | #[inline ] |
605 | pub fn xyyy(self) -> F32x4 { |
606 | F32x4([self[0], self[1], self[1], self[1]]) |
607 | } |
608 | |
609 | /// Constructs a new vector from the second, second, second, and second |
610 | /// lanes in this vector, respectively. |
611 | #[inline ] |
612 | pub fn yyyy(self) -> F32x4 { |
613 | F32x4([self[1], self[1], self[1], self[1]]) |
614 | } |
615 | |
616 | /// Constructs a new vector from the third, second, second, and second |
617 | /// lanes in this vector, respectively. |
618 | #[inline ] |
619 | pub fn zyyy(self) -> F32x4 { |
620 | F32x4([self[2], self[1], self[1], self[1]]) |
621 | } |
622 | |
623 | /// Constructs a new vector from the fourth, second, second, and second |
624 | /// lanes in this vector, respectively. |
625 | #[inline ] |
626 | pub fn wyyy(self) -> F32x4 { |
627 | F32x4([self[3], self[1], self[1], self[1]]) |
628 | } |
629 | |
630 | /// Constructs a new vector from the first, third, second, and second |
631 | /// lanes in this vector, respectively. |
632 | #[inline ] |
633 | pub fn xzyy(self) -> F32x4 { |
634 | F32x4([self[0], self[2], self[1], self[1]]) |
635 | } |
636 | |
637 | /// Constructs a new vector from the second, third, second, and second |
638 | /// lanes in this vector, respectively. |
639 | #[inline ] |
640 | pub fn yzyy(self) -> F32x4 { |
641 | F32x4([self[1], self[2], self[1], self[1]]) |
642 | } |
643 | |
644 | /// Constructs a new vector from the third, third, second, and second |
645 | /// lanes in this vector, respectively. |
646 | #[inline ] |
647 | pub fn zzyy(self) -> F32x4 { |
648 | F32x4([self[2], self[2], self[1], self[1]]) |
649 | } |
650 | |
651 | /// Constructs a new vector from the fourth, third, second, and second |
652 | /// lanes in this vector, respectively. |
653 | #[inline ] |
654 | pub fn wzyy(self) -> F32x4 { |
655 | F32x4([self[3], self[2], self[1], self[1]]) |
656 | } |
657 | |
658 | /// Constructs a new vector from the first, fourth, second, and second |
659 | /// lanes in this vector, respectively. |
660 | #[inline ] |
661 | pub fn xwyy(self) -> F32x4 { |
662 | F32x4([self[0], self[3], self[1], self[1]]) |
663 | } |
664 | |
665 | /// Constructs a new vector from the second, fourth, second, and second |
666 | /// lanes in this vector, respectively. |
667 | #[inline ] |
668 | pub fn ywyy(self) -> F32x4 { |
669 | F32x4([self[1], self[3], self[1], self[1]]) |
670 | } |
671 | |
672 | /// Constructs a new vector from the third, fourth, second, and second |
673 | /// lanes in this vector, respectively. |
674 | #[inline ] |
675 | pub fn zwyy(self) -> F32x4 { |
676 | F32x4([self[2], self[3], self[1], self[1]]) |
677 | } |
678 | |
679 | /// Constructs a new vector from the fourth, fourth, second, and second |
680 | /// lanes in this vector, respectively. |
681 | #[inline ] |
682 | pub fn wwyy(self) -> F32x4 { |
683 | F32x4([self[3], self[3], self[1], self[1]]) |
684 | } |
685 | |
686 | /// Constructs a new vector from the first, first, third, and second |
687 | /// lanes in this vector, respectively. |
688 | #[inline ] |
689 | pub fn xxzy(self) -> F32x4 { |
690 | F32x4([self[0], self[0], self[2], self[1]]) |
691 | } |
692 | |
693 | /// Constructs a new vector from the second, first, third, and second |
694 | /// lanes in this vector, respectively. |
695 | #[inline ] |
696 | pub fn yxzy(self) -> F32x4 { |
697 | F32x4([self[1], self[0], self[2], self[1]]) |
698 | } |
699 | |
700 | /// Constructs a new vector from the third, first, third, and second |
701 | /// lanes in this vector, respectively. |
702 | #[inline ] |
703 | pub fn zxzy(self) -> F32x4 { |
704 | F32x4([self[2], self[0], self[2], self[1]]) |
705 | } |
706 | |
707 | /// Constructs a new vector from the fourth, first, third, and second |
708 | /// lanes in this vector, respectively. |
709 | #[inline ] |
710 | pub fn wxzy(self) -> F32x4 { |
711 | F32x4([self[3], self[0], self[2], self[1]]) |
712 | } |
713 | |
714 | /// Constructs a new vector from the first, second, third, and second |
715 | /// lanes in this vector, respectively. |
716 | #[inline ] |
717 | pub fn xyzy(self) -> F32x4 { |
718 | F32x4([self[0], self[1], self[2], self[1]]) |
719 | } |
720 | |
721 | /// Constructs a new vector from the second, second, third, and second |
722 | /// lanes in this vector, respectively. |
723 | #[inline ] |
724 | pub fn yyzy(self) -> F32x4 { |
725 | F32x4([self[1], self[1], self[2], self[1]]) |
726 | } |
727 | |
728 | /// Constructs a new vector from the third, second, third, and second |
729 | /// lanes in this vector, respectively. |
730 | #[inline ] |
731 | pub fn zyzy(self) -> F32x4 { |
732 | F32x4([self[2], self[1], self[2], self[1]]) |
733 | } |
734 | |
735 | /// Constructs a new vector from the fourth, second, third, and second |
736 | /// lanes in this vector, respectively. |
737 | #[inline ] |
738 | pub fn wyzy(self) -> F32x4 { |
739 | F32x4([self[3], self[1], self[2], self[1]]) |
740 | } |
741 | |
742 | /// Constructs a new vector from the first, third, third, and second |
743 | /// lanes in this vector, respectively. |
744 | #[inline ] |
745 | pub fn xzzy(self) -> F32x4 { |
746 | F32x4([self[0], self[2], self[2], self[1]]) |
747 | } |
748 | |
749 | /// Constructs a new vector from the second, third, third, and second |
750 | /// lanes in this vector, respectively. |
751 | #[inline ] |
752 | pub fn yzzy(self) -> F32x4 { |
753 | F32x4([self[1], self[2], self[2], self[1]]) |
754 | } |
755 | |
756 | /// Constructs a new vector from the third, third, third, and second |
757 | /// lanes in this vector, respectively. |
758 | #[inline ] |
759 | pub fn zzzy(self) -> F32x4 { |
760 | F32x4([self[2], self[2], self[2], self[1]]) |
761 | } |
762 | |
763 | /// Constructs a new vector from the fourth, third, third, and second |
764 | /// lanes in this vector, respectively. |
765 | #[inline ] |
766 | pub fn wzzy(self) -> F32x4 { |
767 | F32x4([self[3], self[2], self[2], self[1]]) |
768 | } |
769 | |
770 | /// Constructs a new vector from the first, fourth, third, and second |
771 | /// lanes in this vector, respectively. |
772 | #[inline ] |
773 | pub fn xwzy(self) -> F32x4 { |
774 | F32x4([self[0], self[3], self[2], self[1]]) |
775 | } |
776 | |
777 | /// Constructs a new vector from the second, fourth, third, and second |
778 | /// lanes in this vector, respectively. |
779 | #[inline ] |
780 | pub fn ywzy(self) -> F32x4 { |
781 | F32x4([self[1], self[3], self[2], self[1]]) |
782 | } |
783 | |
784 | /// Constructs a new vector from the third, fourth, third, and second |
785 | /// lanes in this vector, respectively. |
786 | #[inline ] |
787 | pub fn zwzy(self) -> F32x4 { |
788 | F32x4([self[2], self[3], self[2], self[1]]) |
789 | } |
790 | |
791 | /// Constructs a new vector from the fourth, fourth, third, and second |
792 | /// lanes in this vector, respectively. |
793 | #[inline ] |
794 | pub fn wwzy(self) -> F32x4 { |
795 | F32x4([self[3], self[3], self[2], self[1]]) |
796 | } |
797 | |
798 | /// Constructs a new vector from the first, first, fourth, and second |
799 | /// lanes in this vector, respectively. |
800 | #[inline ] |
801 | pub fn xxwy(self) -> F32x4 { |
802 | F32x4([self[0], self[0], self[3], self[1]]) |
803 | } |
804 | |
805 | /// Constructs a new vector from the second, first, fourth, and second |
806 | /// lanes in this vector, respectively. |
807 | #[inline ] |
808 | pub fn yxwy(self) -> F32x4 { |
809 | F32x4([self[1], self[0], self[3], self[1]]) |
810 | } |
811 | |
812 | /// Constructs a new vector from the third, first, fourth, and second |
813 | /// lanes in this vector, respectively. |
814 | #[inline ] |
815 | pub fn zxwy(self) -> F32x4 { |
816 | F32x4([self[2], self[0], self[3], self[1]]) |
817 | } |
818 | |
819 | /// Constructs a new vector from the fourth, first, fourth, and second |
820 | /// lanes in this vector, respectively. |
821 | #[inline ] |
822 | pub fn wxwy(self) -> F32x4 { |
823 | F32x4([self[3], self[0], self[3], self[1]]) |
824 | } |
825 | |
826 | /// Constructs a new vector from the first, second, fourth, and second |
827 | /// lanes in this vector, respectively. |
828 | #[inline ] |
829 | pub fn xywy(self) -> F32x4 { |
830 | F32x4([self[0], self[1], self[3], self[1]]) |
831 | } |
832 | |
833 | /// Constructs a new vector from the second, second, fourth, and second |
834 | /// lanes in this vector, respectively. |
835 | #[inline ] |
836 | pub fn yywy(self) -> F32x4 { |
837 | F32x4([self[1], self[1], self[3], self[1]]) |
838 | } |
839 | |
840 | /// Constructs a new vector from the third, second, fourth, and second |
841 | /// lanes in this vector, respectively. |
842 | #[inline ] |
843 | pub fn zywy(self) -> F32x4 { |
844 | F32x4([self[2], self[1], self[3], self[1]]) |
845 | } |
846 | |
847 | /// Constructs a new vector from the fourth, second, fourth, and second |
848 | /// lanes in this vector, respectively. |
849 | #[inline ] |
850 | pub fn wywy(self) -> F32x4 { |
851 | F32x4([self[3], self[1], self[3], self[1]]) |
852 | } |
853 | |
854 | /// Constructs a new vector from the first, third, fourth, and second |
855 | /// lanes in this vector, respectively. |
856 | #[inline ] |
857 | pub fn xzwy(self) -> F32x4 { |
858 | F32x4([self[0], self[2], self[3], self[1]]) |
859 | } |
860 | |
861 | /// Constructs a new vector from the second, third, fourth, and second |
862 | /// lanes in this vector, respectively. |
863 | #[inline ] |
864 | pub fn yzwy(self) -> F32x4 { |
865 | F32x4([self[1], self[2], self[3], self[1]]) |
866 | } |
867 | |
868 | /// Constructs a new vector from the third, third, fourth, and second |
869 | /// lanes in this vector, respectively. |
870 | #[inline ] |
871 | pub fn zzwy(self) -> F32x4 { |
872 | F32x4([self[2], self[2], self[3], self[1]]) |
873 | } |
874 | |
875 | /// Constructs a new vector from the fourth, third, fourth, and second |
876 | /// lanes in this vector, respectively. |
877 | #[inline ] |
878 | pub fn wzwy(self) -> F32x4 { |
879 | F32x4([self[3], self[2], self[3], self[1]]) |
880 | } |
881 | |
882 | /// Constructs a new vector from the first, fourth, fourth, and second |
883 | /// lanes in this vector, respectively. |
884 | #[inline ] |
885 | pub fn xwwy(self) -> F32x4 { |
886 | F32x4([self[0], self[3], self[3], self[1]]) |
887 | } |
888 | |
889 | /// Constructs a new vector from the second, fourth, fourth, and second |
890 | /// lanes in this vector, respectively. |
891 | #[inline ] |
892 | pub fn ywwy(self) -> F32x4 { |
893 | F32x4([self[1], self[3], self[3], self[1]]) |
894 | } |
895 | |
896 | /// Constructs a new vector from the third, fourth, fourth, and second |
897 | /// lanes in this vector, respectively. |
898 | #[inline ] |
899 | pub fn zwwy(self) -> F32x4 { |
900 | F32x4([self[2], self[3], self[3], self[1]]) |
901 | } |
902 | |
903 | /// Constructs a new vector from the fourth, fourth, fourth, and second |
904 | /// lanes in this vector, respectively. |
905 | #[inline ] |
906 | pub fn wwwy(self) -> F32x4 { |
907 | F32x4([self[3], self[3], self[3], self[1]]) |
908 | } |
909 | |
910 | /// Constructs a new vector from the first, first, first, and third |
911 | /// lanes in this vector, respectively. |
912 | #[inline ] |
913 | pub fn xxxz(self) -> F32x4 { |
914 | F32x4([self[0], self[0], self[0], self[2]]) |
915 | } |
916 | |
917 | /// Constructs a new vector from the second, first, first, and third |
918 | /// lanes in this vector, respectively. |
919 | #[inline ] |
920 | pub fn yxxz(self) -> F32x4 { |
921 | F32x4([self[1], self[0], self[0], self[2]]) |
922 | } |
923 | |
924 | /// Constructs a new vector from the third, first, first, and third |
925 | /// lanes in this vector, respectively. |
926 | #[inline ] |
927 | pub fn zxxz(self) -> F32x4 { |
928 | F32x4([self[2], self[0], self[0], self[2]]) |
929 | } |
930 | |
931 | /// Constructs a new vector from the fourth, first, first, and third |
932 | /// lanes in this vector, respectively. |
933 | #[inline ] |
934 | pub fn wxxz(self) -> F32x4 { |
935 | F32x4([self[3], self[0], self[0], self[2]]) |
936 | } |
937 | |
938 | /// Constructs a new vector from the first, second, first, and third |
939 | /// lanes in this vector, respectively. |
940 | #[inline ] |
941 | pub fn xyxz(self) -> F32x4 { |
942 | F32x4([self[0], self[1], self[0], self[2]]) |
943 | } |
944 | |
945 | /// Constructs a new vector from the second, second, first, and third |
946 | /// lanes in this vector, respectively. |
947 | #[inline ] |
948 | pub fn yyxz(self) -> F32x4 { |
949 | F32x4([self[1], self[1], self[0], self[2]]) |
950 | } |
951 | |
952 | /// Constructs a new vector from the third, second, first, and third |
953 | /// lanes in this vector, respectively. |
954 | #[inline ] |
955 | pub fn zyxz(self) -> F32x4 { |
956 | F32x4([self[2], self[1], self[0], self[2]]) |
957 | } |
958 | |
959 | /// Constructs a new vector from the fourth, second, first, and third |
960 | /// lanes in this vector, respectively. |
961 | #[inline ] |
962 | pub fn wyxz(self) -> F32x4 { |
963 | F32x4([self[3], self[1], self[0], self[2]]) |
964 | } |
965 | |
966 | /// Constructs a new vector from the first, third, first, and third |
967 | /// lanes in this vector, respectively. |
968 | #[inline ] |
969 | pub fn xzxz(self) -> F32x4 { |
970 | F32x4([self[0], self[2], self[0], self[2]]) |
971 | } |
972 | |
973 | /// Constructs a new vector from the second, third, first, and third |
974 | /// lanes in this vector, respectively. |
975 | #[inline ] |
976 | pub fn yzxz(self) -> F32x4 { |
977 | F32x4([self[1], self[2], self[0], self[2]]) |
978 | } |
979 | |
980 | /// Constructs a new vector from the third, third, first, and third |
981 | /// lanes in this vector, respectively. |
982 | #[inline ] |
983 | pub fn zzxz(self) -> F32x4 { |
984 | F32x4([self[2], self[2], self[0], self[2]]) |
985 | } |
986 | |
987 | /// Constructs a new vector from the fourth, third, first, and third |
988 | /// lanes in this vector, respectively. |
989 | #[inline ] |
990 | pub fn wzxz(self) -> F32x4 { |
991 | F32x4([self[3], self[2], self[0], self[2]]) |
992 | } |
993 | |
994 | /// Constructs a new vector from the first, fourth, first, and third |
995 | /// lanes in this vector, respectively. |
996 | #[inline ] |
997 | pub fn xwxz(self) -> F32x4 { |
998 | F32x4([self[0], self[3], self[0], self[2]]) |
999 | } |
1000 | |
1001 | /// Constructs a new vector from the second, fourth, first, and third |
1002 | /// lanes in this vector, respectively. |
1003 | #[inline ] |
1004 | pub fn ywxz(self) -> F32x4 { |
1005 | F32x4([self[1], self[3], self[0], self[2]]) |
1006 | } |
1007 | |
1008 | /// Constructs a new vector from the third, fourth, first, and third |
1009 | /// lanes in this vector, respectively. |
1010 | #[inline ] |
1011 | pub fn zwxz(self) -> F32x4 { |
1012 | F32x4([self[2], self[3], self[0], self[2]]) |
1013 | } |
1014 | |
1015 | /// Constructs a new vector from the fourth, fourth, first, and third |
1016 | /// lanes in this vector, respectively. |
1017 | #[inline ] |
1018 | pub fn wwxz(self) -> F32x4 { |
1019 | F32x4([self[3], self[3], self[0], self[2]]) |
1020 | } |
1021 | |
1022 | /// Constructs a new vector from the first, first, second, and third |
1023 | /// lanes in this vector, respectively. |
1024 | #[inline ] |
1025 | pub fn xxyz(self) -> F32x4 { |
1026 | F32x4([self[0], self[0], self[1], self[2]]) |
1027 | } |
1028 | |
1029 | /// Constructs a new vector from the second, first, second, and third |
1030 | /// lanes in this vector, respectively. |
1031 | #[inline ] |
1032 | pub fn yxyz(self) -> F32x4 { |
1033 | F32x4([self[1], self[0], self[1], self[2]]) |
1034 | } |
1035 | |
1036 | /// Constructs a new vector from the third, first, second, and third |
1037 | /// lanes in this vector, respectively. |
1038 | #[inline ] |
1039 | pub fn zxyz(self) -> F32x4 { |
1040 | F32x4([self[2], self[0], self[1], self[2]]) |
1041 | } |
1042 | |
1043 | /// Constructs a new vector from the fourth, first, second, and third |
1044 | /// lanes in this vector, respectively. |
1045 | #[inline ] |
1046 | pub fn wxyz(self) -> F32x4 { |
1047 | F32x4([self[3], self[0], self[1], self[2]]) |
1048 | } |
1049 | |
1050 | /// Constructs a new vector from the first, second, second, and third |
1051 | /// lanes in this vector, respectively. |
1052 | #[inline ] |
1053 | pub fn xyyz(self) -> F32x4 { |
1054 | F32x4([self[0], self[1], self[1], self[2]]) |
1055 | } |
1056 | |
1057 | /// Constructs a new vector from the second, second, second, and third |
1058 | /// lanes in this vector, respectively. |
1059 | #[inline ] |
1060 | pub fn yyyz(self) -> F32x4 { |
1061 | F32x4([self[1], self[1], self[1], self[2]]) |
1062 | } |
1063 | |
1064 | /// Constructs a new vector from the third, second, second, and third |
1065 | /// lanes in this vector, respectively. |
1066 | #[inline ] |
1067 | pub fn zyyz(self) -> F32x4 { |
1068 | F32x4([self[2], self[1], self[1], self[2]]) |
1069 | } |
1070 | |
1071 | /// Constructs a new vector from the fourth, second, second, and third |
1072 | /// lanes in this vector, respectively. |
1073 | #[inline ] |
1074 | pub fn wyyz(self) -> F32x4 { |
1075 | F32x4([self[3], self[1], self[1], self[2]]) |
1076 | } |
1077 | |
1078 | /// Constructs a new vector from the first, third, second, and third |
1079 | /// lanes in this vector, respectively. |
1080 | #[inline ] |
1081 | pub fn xzyz(self) -> F32x4 { |
1082 | F32x4([self[0], self[2], self[1], self[2]]) |
1083 | } |
1084 | |
1085 | /// Constructs a new vector from the second, third, second, and third |
1086 | /// lanes in this vector, respectively. |
1087 | #[inline ] |
1088 | pub fn yzyz(self) -> F32x4 { |
1089 | F32x4([self[1], self[2], self[1], self[2]]) |
1090 | } |
1091 | |
1092 | /// Constructs a new vector from the third, third, second, and third |
1093 | /// lanes in this vector, respectively. |
1094 | #[inline ] |
1095 | pub fn zzyz(self) -> F32x4 { |
1096 | F32x4([self[2], self[2], self[1], self[2]]) |
1097 | } |
1098 | |
1099 | /// Constructs a new vector from the fourth, third, second, and third |
1100 | /// lanes in this vector, respectively. |
1101 | #[inline ] |
1102 | pub fn wzyz(self) -> F32x4 { |
1103 | F32x4([self[3], self[2], self[1], self[2]]) |
1104 | } |
1105 | |
1106 | /// Constructs a new vector from the first, fourth, second, and third |
1107 | /// lanes in this vector, respectively. |
1108 | #[inline ] |
1109 | pub fn xwyz(self) -> F32x4 { |
1110 | F32x4([self[0], self[3], self[1], self[2]]) |
1111 | } |
1112 | |
1113 | /// Constructs a new vector from the second, fourth, second, and third |
1114 | /// lanes in this vector, respectively. |
1115 | #[inline ] |
1116 | pub fn ywyz(self) -> F32x4 { |
1117 | F32x4([self[1], self[3], self[1], self[2]]) |
1118 | } |
1119 | |
1120 | /// Constructs a new vector from the third, fourth, second, and third |
1121 | /// lanes in this vector, respectively. |
1122 | #[inline ] |
1123 | pub fn zwyz(self) -> F32x4 { |
1124 | F32x4([self[2], self[3], self[1], self[2]]) |
1125 | } |
1126 | |
1127 | /// Constructs a new vector from the fourth, fourth, second, and third |
1128 | /// lanes in this vector, respectively. |
1129 | #[inline ] |
1130 | pub fn wwyz(self) -> F32x4 { |
1131 | F32x4([self[3], self[3], self[1], self[2]]) |
1132 | } |
1133 | |
1134 | /// Constructs a new vector from the first, first, third, and third |
1135 | /// lanes in this vector, respectively. |
1136 | #[inline ] |
1137 | pub fn xxzz(self) -> F32x4 { |
1138 | F32x4([self[0], self[0], self[2], self[2]]) |
1139 | } |
1140 | |
1141 | /// Constructs a new vector from the second, first, third, and third |
1142 | /// lanes in this vector, respectively. |
1143 | #[inline ] |
1144 | pub fn yxzz(self) -> F32x4 { |
1145 | F32x4([self[1], self[0], self[2], self[2]]) |
1146 | } |
1147 | |
1148 | /// Constructs a new vector from the third, first, third, and third |
1149 | /// lanes in this vector, respectively. |
1150 | #[inline ] |
1151 | pub fn zxzz(self) -> F32x4 { |
1152 | F32x4([self[2], self[0], self[2], self[2]]) |
1153 | } |
1154 | |
1155 | /// Constructs a new vector from the fourth, first, third, and third |
1156 | /// lanes in this vector, respectively. |
1157 | #[inline ] |
1158 | pub fn wxzz(self) -> F32x4 { |
1159 | F32x4([self[3], self[0], self[2], self[2]]) |
1160 | } |
1161 | |
1162 | /// Constructs a new vector from the first, second, third, and third |
1163 | /// lanes in this vector, respectively. |
1164 | #[inline ] |
1165 | pub fn xyzz(self) -> F32x4 { |
1166 | F32x4([self[0], self[1], self[2], self[2]]) |
1167 | } |
1168 | |
1169 | /// Constructs a new vector from the second, second, third, and third |
1170 | /// lanes in this vector, respectively. |
1171 | #[inline ] |
1172 | pub fn yyzz(self) -> F32x4 { |
1173 | F32x4([self[1], self[1], self[2], self[2]]) |
1174 | } |
1175 | |
1176 | /// Constructs a new vector from the third, second, third, and third |
1177 | /// lanes in this vector, respectively. |
1178 | #[inline ] |
1179 | pub fn zyzz(self) -> F32x4 { |
1180 | F32x4([self[2], self[1], self[2], self[2]]) |
1181 | } |
1182 | |
1183 | /// Constructs a new vector from the fourth, second, third, and third |
1184 | /// lanes in this vector, respectively. |
1185 | #[inline ] |
1186 | pub fn wyzz(self) -> F32x4 { |
1187 | F32x4([self[3], self[1], self[2], self[2]]) |
1188 | } |
1189 | |
1190 | /// Constructs a new vector from the first, third, third, and third |
1191 | /// lanes in this vector, respectively. |
1192 | #[inline ] |
1193 | pub fn xzzz(self) -> F32x4 { |
1194 | F32x4([self[0], self[2], self[2], self[2]]) |
1195 | } |
1196 | |
1197 | /// Constructs a new vector from the second, third, third, and third |
1198 | /// lanes in this vector, respectively. |
1199 | #[inline ] |
1200 | pub fn yzzz(self) -> F32x4 { |
1201 | F32x4([self[1], self[2], self[2], self[2]]) |
1202 | } |
1203 | |
1204 | /// Constructs a new vector from the third, third, third, and third |
1205 | /// lanes in this vector, respectively. |
1206 | #[inline ] |
1207 | pub fn zzzz(self) -> F32x4 { |
1208 | F32x4([self[2], self[2], self[2], self[2]]) |
1209 | } |
1210 | |
1211 | /// Constructs a new vector from the fourth, third, third, and third |
1212 | /// lanes in this vector, respectively. |
1213 | #[inline ] |
1214 | pub fn wzzz(self) -> F32x4 { |
1215 | F32x4([self[3], self[2], self[2], self[2]]) |
1216 | } |
1217 | |
1218 | /// Constructs a new vector from the first, fourth, third, and third |
1219 | /// lanes in this vector, respectively. |
1220 | #[inline ] |
1221 | pub fn xwzz(self) -> F32x4 { |
1222 | F32x4([self[0], self[3], self[2], self[2]]) |
1223 | } |
1224 | |
1225 | /// Constructs a new vector from the second, fourth, third, and third |
1226 | /// lanes in this vector, respectively. |
1227 | #[inline ] |
1228 | pub fn ywzz(self) -> F32x4 { |
1229 | F32x4([self[1], self[3], self[2], self[2]]) |
1230 | } |
1231 | |
1232 | /// Constructs a new vector from the third, fourth, third, and third |
1233 | /// lanes in this vector, respectively. |
1234 | #[inline ] |
1235 | pub fn zwzz(self) -> F32x4 { |
1236 | F32x4([self[2], self[3], self[2], self[2]]) |
1237 | } |
1238 | |
1239 | /// Constructs a new vector from the fourth, fourth, third, and third |
1240 | /// lanes in this vector, respectively. |
1241 | #[inline ] |
1242 | pub fn wwzz(self) -> F32x4 { |
1243 | F32x4([self[3], self[3], self[2], self[2]]) |
1244 | } |
1245 | |
1246 | /// Constructs a new vector from the first, first, fourth, and third |
1247 | /// lanes in this vector, respectively. |
1248 | #[inline ] |
1249 | pub fn xxwz(self) -> F32x4 { |
1250 | F32x4([self[0], self[0], self[3], self[2]]) |
1251 | } |
1252 | |
1253 | /// Constructs a new vector from the second, first, fourth, and third |
1254 | /// lanes in this vector, respectively. |
1255 | #[inline ] |
1256 | pub fn yxwz(self) -> F32x4 { |
1257 | F32x4([self[1], self[0], self[3], self[2]]) |
1258 | } |
1259 | |
1260 | /// Constructs a new vector from the third, first, fourth, and third |
1261 | /// lanes in this vector, respectively. |
1262 | #[inline ] |
1263 | pub fn zxwz(self) -> F32x4 { |
1264 | F32x4([self[2], self[0], self[3], self[2]]) |
1265 | } |
1266 | |
1267 | /// Constructs a new vector from the fourth, first, fourth, and third |
1268 | /// lanes in this vector, respectively. |
1269 | #[inline ] |
1270 | pub fn wxwz(self) -> F32x4 { |
1271 | F32x4([self[3], self[0], self[3], self[2]]) |
1272 | } |
1273 | |
1274 | /// Constructs a new vector from the first, second, fourth, and third |
1275 | /// lanes in this vector, respectively. |
1276 | #[inline ] |
1277 | pub fn xywz(self) -> F32x4 { |
1278 | F32x4([self[0], self[1], self[3], self[2]]) |
1279 | } |
1280 | |
1281 | /// Constructs a new vector from the second, second, fourth, and third |
1282 | /// lanes in this vector, respectively. |
1283 | #[inline ] |
1284 | pub fn yywz(self) -> F32x4 { |
1285 | F32x4([self[1], self[1], self[3], self[2]]) |
1286 | } |
1287 | |
1288 | /// Constructs a new vector from the third, second, fourth, and third |
1289 | /// lanes in this vector, respectively. |
1290 | #[inline ] |
1291 | pub fn zywz(self) -> F32x4 { |
1292 | F32x4([self[2], self[1], self[3], self[2]]) |
1293 | } |
1294 | |
1295 | /// Constructs a new vector from the fourth, second, fourth, and third |
1296 | /// lanes in this vector, respectively. |
1297 | #[inline ] |
1298 | pub fn wywz(self) -> F32x4 { |
1299 | F32x4([self[3], self[1], self[3], self[2]]) |
1300 | } |
1301 | |
1302 | /// Constructs a new vector from the first, third, fourth, and third |
1303 | /// lanes in this vector, respectively. |
1304 | #[inline ] |
1305 | pub fn xzwz(self) -> F32x4 { |
1306 | F32x4([self[0], self[2], self[3], self[2]]) |
1307 | } |
1308 | |
1309 | /// Constructs a new vector from the second, third, fourth, and third |
1310 | /// lanes in this vector, respectively. |
1311 | #[inline ] |
1312 | pub fn yzwz(self) -> F32x4 { |
1313 | F32x4([self[1], self[2], self[3], self[2]]) |
1314 | } |
1315 | |
1316 | /// Constructs a new vector from the third, third, fourth, and third |
1317 | /// lanes in this vector, respectively. |
1318 | #[inline ] |
1319 | pub fn zzwz(self) -> F32x4 { |
1320 | F32x4([self[2], self[2], self[3], self[2]]) |
1321 | } |
1322 | |
1323 | /// Constructs a new vector from the fourth, third, fourth, and third |
1324 | /// lanes in this vector, respectively. |
1325 | #[inline ] |
1326 | pub fn wzwz(self) -> F32x4 { |
1327 | F32x4([self[3], self[2], self[3], self[2]]) |
1328 | } |
1329 | |
1330 | /// Constructs a new vector from the first, fourth, fourth, and third |
1331 | /// lanes in this vector, respectively. |
1332 | #[inline ] |
1333 | pub fn xwwz(self) -> F32x4 { |
1334 | F32x4([self[0], self[3], self[3], self[2]]) |
1335 | } |
1336 | |
1337 | /// Constructs a new vector from the second, fourth, fourth, and third |
1338 | /// lanes in this vector, respectively. |
1339 | #[inline ] |
1340 | pub fn ywwz(self) -> F32x4 { |
1341 | F32x4([self[1], self[3], self[3], self[2]]) |
1342 | } |
1343 | |
1344 | /// Constructs a new vector from the third, fourth, fourth, and third |
1345 | /// lanes in this vector, respectively. |
1346 | #[inline ] |
1347 | pub fn zwwz(self) -> F32x4 { |
1348 | F32x4([self[2], self[3], self[3], self[2]]) |
1349 | } |
1350 | |
1351 | /// Constructs a new vector from the fourth, fourth, fourth, and third |
1352 | /// lanes in this vector, respectively. |
1353 | #[inline ] |
1354 | pub fn wwwz(self) -> F32x4 { |
1355 | F32x4([self[3], self[3], self[3], self[2]]) |
1356 | } |
1357 | |
1358 | /// Constructs a new vector from the first, first, first, and fourth |
1359 | /// lanes in this vector, respectively. |
1360 | #[inline ] |
1361 | pub fn xxxw(self) -> F32x4 { |
1362 | F32x4([self[0], self[0], self[0], self[3]]) |
1363 | } |
1364 | |
1365 | /// Constructs a new vector from the second, first, first, and fourth |
1366 | /// lanes in this vector, respectively. |
1367 | #[inline ] |
1368 | pub fn yxxw(self) -> F32x4 { |
1369 | F32x4([self[1], self[0], self[0], self[3]]) |
1370 | } |
1371 | |
1372 | /// Constructs a new vector from the third, first, first, and fourth |
1373 | /// lanes in this vector, respectively. |
1374 | #[inline ] |
1375 | pub fn zxxw(self) -> F32x4 { |
1376 | F32x4([self[2], self[0], self[0], self[3]]) |
1377 | } |
1378 | |
1379 | /// Constructs a new vector from the fourth, first, first, and fourth |
1380 | /// lanes in this vector, respectively. |
1381 | #[inline ] |
1382 | pub fn wxxw(self) -> F32x4 { |
1383 | F32x4([self[3], self[0], self[0], self[3]]) |
1384 | } |
1385 | |
1386 | /// Constructs a new vector from the first, second, first, and fourth |
1387 | /// lanes in this vector, respectively. |
1388 | #[inline ] |
1389 | pub fn xyxw(self) -> F32x4 { |
1390 | F32x4([self[0], self[1], self[0], self[3]]) |
1391 | } |
1392 | |
1393 | /// Constructs a new vector from the second, second, first, and fourth |
1394 | /// lanes in this vector, respectively. |
1395 | #[inline ] |
1396 | pub fn yyxw(self) -> F32x4 { |
1397 | F32x4([self[1], self[1], self[0], self[3]]) |
1398 | } |
1399 | |
1400 | /// Constructs a new vector from the third, second, first, and fourth |
1401 | /// lanes in this vector, respectively. |
1402 | #[inline ] |
1403 | pub fn zyxw(self) -> F32x4 { |
1404 | F32x4([self[2], self[1], self[0], self[3]]) |
1405 | } |
1406 | |
1407 | /// Constructs a new vector from the fourth, second, first, and fourth |
1408 | /// lanes in this vector, respectively. |
1409 | #[inline ] |
1410 | pub fn wyxw(self) -> F32x4 { |
1411 | F32x4([self[3], self[1], self[0], self[3]]) |
1412 | } |
1413 | |
1414 | /// Constructs a new vector from the first, third, first, and fourth |
1415 | /// lanes in this vector, respectively. |
1416 | #[inline ] |
1417 | pub fn xzxw(self) -> F32x4 { |
1418 | F32x4([self[0], self[2], self[0], self[3]]) |
1419 | } |
1420 | |
1421 | /// Constructs a new vector from the second, third, first, and fourth |
1422 | /// lanes in this vector, respectively. |
1423 | #[inline ] |
1424 | pub fn yzxw(self) -> F32x4 { |
1425 | F32x4([self[1], self[2], self[0], self[3]]) |
1426 | } |
1427 | |
1428 | /// Constructs a new vector from the third, third, first, and fourth |
1429 | /// lanes in this vector, respectively. |
1430 | #[inline ] |
1431 | pub fn zzxw(self) -> F32x4 { |
1432 | F32x4([self[2], self[2], self[0], self[3]]) |
1433 | } |
1434 | |
1435 | /// Constructs a new vector from the fourth, third, first, and fourth |
1436 | /// lanes in this vector, respectively. |
1437 | #[inline ] |
1438 | pub fn wzxw(self) -> F32x4 { |
1439 | F32x4([self[3], self[2], self[0], self[3]]) |
1440 | } |
1441 | |
1442 | /// Constructs a new vector from the first, fourth, first, and fourth |
1443 | /// lanes in this vector, respectively. |
1444 | #[inline ] |
1445 | pub fn xwxw(self) -> F32x4 { |
1446 | F32x4([self[0], self[3], self[0], self[3]]) |
1447 | } |
1448 | |
1449 | /// Constructs a new vector from the second, fourth, first, and fourth |
1450 | /// lanes in this vector, respectively. |
1451 | #[inline ] |
1452 | pub fn ywxw(self) -> F32x4 { |
1453 | F32x4([self[1], self[3], self[0], self[3]]) |
1454 | } |
1455 | |
1456 | /// Constructs a new vector from the third, fourth, first, and fourth |
1457 | /// lanes in this vector, respectively. |
1458 | #[inline ] |
1459 | pub fn zwxw(self) -> F32x4 { |
1460 | F32x4([self[2], self[3], self[0], self[3]]) |
1461 | } |
1462 | |
1463 | /// Constructs a new vector from the fourth, fourth, first, and fourth |
1464 | /// lanes in this vector, respectively. |
1465 | #[inline ] |
1466 | pub fn wwxw(self) -> F32x4 { |
1467 | F32x4([self[3], self[3], self[0], self[3]]) |
1468 | } |
1469 | |
1470 | /// Constructs a new vector from the first, first, second, and fourth |
1471 | /// lanes in this vector, respectively. |
1472 | #[inline ] |
1473 | pub fn xxyw(self) -> F32x4 { |
1474 | F32x4([self[0], self[0], self[1], self[3]]) |
1475 | } |
1476 | |
1477 | /// Constructs a new vector from the second, first, second, and fourth |
1478 | /// lanes in this vector, respectively. |
1479 | #[inline ] |
1480 | pub fn yxyw(self) -> F32x4 { |
1481 | F32x4([self[1], self[0], self[1], self[3]]) |
1482 | } |
1483 | |
1484 | /// Constructs a new vector from the third, first, second, and fourth |
1485 | /// lanes in this vector, respectively. |
1486 | #[inline ] |
1487 | pub fn zxyw(self) -> F32x4 { |
1488 | F32x4([self[2], self[0], self[1], self[3]]) |
1489 | } |
1490 | |
1491 | /// Constructs a new vector from the fourth, first, second, and fourth |
1492 | /// lanes in this vector, respectively. |
1493 | #[inline ] |
1494 | pub fn wxyw(self) -> F32x4 { |
1495 | F32x4([self[3], self[0], self[1], self[3]]) |
1496 | } |
1497 | |
1498 | /// Constructs a new vector from the first, second, second, and fourth |
1499 | /// lanes in this vector, respectively. |
1500 | #[inline ] |
1501 | pub fn xyyw(self) -> F32x4 { |
1502 | F32x4([self[0], self[1], self[1], self[3]]) |
1503 | } |
1504 | |
1505 | /// Constructs a new vector from the second, second, second, and fourth |
1506 | /// lanes in this vector, respectively. |
1507 | #[inline ] |
1508 | pub fn yyyw(self) -> F32x4 { |
1509 | F32x4([self[1], self[1], self[1], self[3]]) |
1510 | } |
1511 | |
1512 | /// Constructs a new vector from the third, second, second, and fourth |
1513 | /// lanes in this vector, respectively. |
1514 | #[inline ] |
1515 | pub fn zyyw(self) -> F32x4 { |
1516 | F32x4([self[2], self[1], self[1], self[3]]) |
1517 | } |
1518 | |
1519 | /// Constructs a new vector from the fourth, second, second, and fourth |
1520 | /// lanes in this vector, respectively. |
1521 | #[inline ] |
1522 | pub fn wyyw(self) -> F32x4 { |
1523 | F32x4([self[3], self[1], self[1], self[3]]) |
1524 | } |
1525 | |
1526 | /// Constructs a new vector from the first, third, second, and fourth |
1527 | /// lanes in this vector, respectively. |
1528 | #[inline ] |
1529 | pub fn xzyw(self) -> F32x4 { |
1530 | F32x4([self[0], self[2], self[1], self[3]]) |
1531 | } |
1532 | |
1533 | /// Constructs a new vector from the second, third, second, and fourth |
1534 | /// lanes in this vector, respectively. |
1535 | #[inline ] |
1536 | pub fn yzyw(self) -> F32x4 { |
1537 | F32x4([self[1], self[2], self[1], self[3]]) |
1538 | } |
1539 | |
1540 | /// Constructs a new vector from the third, third, second, and fourth |
1541 | /// lanes in this vector, respectively. |
1542 | #[inline ] |
1543 | pub fn zzyw(self) -> F32x4 { |
1544 | F32x4([self[2], self[2], self[1], self[3]]) |
1545 | } |
1546 | |
1547 | /// Constructs a new vector from the fourth, third, second, and fourth |
1548 | /// lanes in this vector, respectively. |
1549 | #[inline ] |
1550 | pub fn wzyw(self) -> F32x4 { |
1551 | F32x4([self[3], self[2], self[1], self[3]]) |
1552 | } |
1553 | |
1554 | /// Constructs a new vector from the first, fourth, second, and fourth |
1555 | /// lanes in this vector, respectively. |
1556 | #[inline ] |
1557 | pub fn xwyw(self) -> F32x4 { |
1558 | F32x4([self[0], self[3], self[1], self[3]]) |
1559 | } |
1560 | |
1561 | /// Constructs a new vector from the second, fourth, second, and fourth |
1562 | /// lanes in this vector, respectively. |
1563 | #[inline ] |
1564 | pub fn ywyw(self) -> F32x4 { |
1565 | F32x4([self[1], self[3], self[1], self[3]]) |
1566 | } |
1567 | |
1568 | /// Constructs a new vector from the third, fourth, second, and fourth |
1569 | /// lanes in this vector, respectively. |
1570 | #[inline ] |
1571 | pub fn zwyw(self) -> F32x4 { |
1572 | F32x4([self[2], self[3], self[1], self[3]]) |
1573 | } |
1574 | |
1575 | /// Constructs a new vector from the fourth, fourth, second, and fourth |
1576 | /// lanes in this vector, respectively. |
1577 | #[inline ] |
1578 | pub fn wwyw(self) -> F32x4 { |
1579 | F32x4([self[3], self[3], self[1], self[3]]) |
1580 | } |
1581 | |
1582 | /// Constructs a new vector from the first, first, third, and fourth |
1583 | /// lanes in this vector, respectively. |
1584 | #[inline ] |
1585 | pub fn xxzw(self) -> F32x4 { |
1586 | F32x4([self[0], self[0], self[2], self[3]]) |
1587 | } |
1588 | |
1589 | /// Constructs a new vector from the second, first, third, and fourth |
1590 | /// lanes in this vector, respectively. |
1591 | #[inline ] |
1592 | pub fn yxzw(self) -> F32x4 { |
1593 | F32x4([self[1], self[0], self[2], self[3]]) |
1594 | } |
1595 | |
1596 | /// Constructs a new vector from the third, first, third, and fourth |
1597 | /// lanes in this vector, respectively. |
1598 | #[inline ] |
1599 | pub fn zxzw(self) -> F32x4 { |
1600 | F32x4([self[2], self[0], self[2], self[3]]) |
1601 | } |
1602 | |
1603 | /// Constructs a new vector from the fourth, first, third, and fourth |
1604 | /// lanes in this vector, respectively. |
1605 | #[inline ] |
1606 | pub fn wxzw(self) -> F32x4 { |
1607 | F32x4([self[3], self[0], self[2], self[3]]) |
1608 | } |
1609 | |
1610 | /// Constructs a new vector from the first, second, third, and fourth |
1611 | /// lanes in this vector, respectively. |
1612 | #[inline ] |
1613 | pub fn xyzw(self) -> F32x4 { |
1614 | F32x4([self[0], self[1], self[2], self[3]]) |
1615 | } |
1616 | |
1617 | /// Constructs a new vector from the second, second, third, and fourth |
1618 | /// lanes in this vector, respectively. |
1619 | #[inline ] |
1620 | pub fn yyzw(self) -> F32x4 { |
1621 | F32x4([self[1], self[1], self[2], self[3]]) |
1622 | } |
1623 | |
1624 | /// Constructs a new vector from the third, second, third, and fourth |
1625 | /// lanes in this vector, respectively. |
1626 | #[inline ] |
1627 | pub fn zyzw(self) -> F32x4 { |
1628 | F32x4([self[2], self[1], self[2], self[3]]) |
1629 | } |
1630 | |
1631 | /// Constructs a new vector from the fourth, second, third, and fourth |
1632 | /// lanes in this vector, respectively. |
1633 | #[inline ] |
1634 | pub fn wyzw(self) -> F32x4 { |
1635 | F32x4([self[3], self[1], self[2], self[3]]) |
1636 | } |
1637 | |
1638 | /// Constructs a new vector from the first, third, third, and fourth |
1639 | /// lanes in this vector, respectively. |
1640 | #[inline ] |
1641 | pub fn xzzw(self) -> F32x4 { |
1642 | F32x4([self[0], self[2], self[2], self[3]]) |
1643 | } |
1644 | |
1645 | /// Constructs a new vector from the second, third, third, and fourth |
1646 | /// lanes in this vector, respectively. |
1647 | #[inline ] |
1648 | pub fn yzzw(self) -> F32x4 { |
1649 | F32x4([self[1], self[2], self[2], self[3]]) |
1650 | } |
1651 | |
1652 | /// Constructs a new vector from the third, third, third, and fourth |
1653 | /// lanes in this vector, respectively. |
1654 | #[inline ] |
1655 | pub fn zzzw(self) -> F32x4 { |
1656 | F32x4([self[2], self[2], self[2], self[3]]) |
1657 | } |
1658 | |
1659 | /// Constructs a new vector from the fourth, third, third, and fourth |
1660 | /// lanes in this vector, respectively. |
1661 | #[inline ] |
1662 | pub fn wzzw(self) -> F32x4 { |
1663 | F32x4([self[3], self[2], self[2], self[3]]) |
1664 | } |
1665 | |
1666 | /// Constructs a new vector from the first, fourth, third, and fourth |
1667 | /// lanes in this vector, respectively. |
1668 | #[inline ] |
1669 | pub fn xwzw(self) -> F32x4 { |
1670 | F32x4([self[0], self[3], self[2], self[3]]) |
1671 | } |
1672 | |
1673 | /// Constructs a new vector from the second, fourth, third, and fourth |
1674 | /// lanes in this vector, respectively. |
1675 | #[inline ] |
1676 | pub fn ywzw(self) -> F32x4 { |
1677 | F32x4([self[1], self[3], self[2], self[3]]) |
1678 | } |
1679 | |
1680 | /// Constructs a new vector from the third, fourth, third, and fourth |
1681 | /// lanes in this vector, respectively. |
1682 | #[inline ] |
1683 | pub fn zwzw(self) -> F32x4 { |
1684 | F32x4([self[2], self[3], self[2], self[3]]) |
1685 | } |
1686 | |
1687 | /// Constructs a new vector from the fourth, fourth, third, and fourth |
1688 | /// lanes in this vector, respectively. |
1689 | #[inline ] |
1690 | pub fn wwzw(self) -> F32x4 { |
1691 | F32x4([self[3], self[3], self[2], self[3]]) |
1692 | } |
1693 | |
1694 | /// Constructs a new vector from the first, first, fourth, and fourth |
1695 | /// lanes in this vector, respectively. |
1696 | #[inline ] |
1697 | pub fn xxww(self) -> F32x4 { |
1698 | F32x4([self[0], self[0], self[3], self[3]]) |
1699 | } |
1700 | |
1701 | /// Constructs a new vector from the second, first, fourth, and fourth |
1702 | /// lanes in this vector, respectively. |
1703 | #[inline ] |
1704 | pub fn yxww(self) -> F32x4 { |
1705 | F32x4([self[1], self[0], self[3], self[3]]) |
1706 | } |
1707 | |
1708 | /// Constructs a new vector from the third, first, fourth, and fourth |
1709 | /// lanes in this vector, respectively. |
1710 | #[inline ] |
1711 | pub fn zxww(self) -> F32x4 { |
1712 | F32x4([self[2], self[0], self[3], self[3]]) |
1713 | } |
1714 | |
1715 | /// Constructs a new vector from the fourth, first, fourth, and fourth |
1716 | /// lanes in this vector, respectively. |
1717 | #[inline ] |
1718 | pub fn wxww(self) -> F32x4 { |
1719 | F32x4([self[3], self[0], self[3], self[3]]) |
1720 | } |
1721 | |
1722 | /// Constructs a new vector from the first, second, fourth, and fourth |
1723 | /// lanes in this vector, respectively. |
1724 | #[inline ] |
1725 | pub fn xyww(self) -> F32x4 { |
1726 | F32x4([self[0], self[1], self[3], self[3]]) |
1727 | } |
1728 | |
1729 | /// Constructs a new vector from the second, second, fourth, and fourth |
1730 | /// lanes in this vector, respectively. |
1731 | #[inline ] |
1732 | pub fn yyww(self) -> F32x4 { |
1733 | F32x4([self[1], self[1], self[3], self[3]]) |
1734 | } |
1735 | |
1736 | /// Constructs a new vector from the third, second, fourth, and fourth |
1737 | /// lanes in this vector, respectively. |
1738 | #[inline ] |
1739 | pub fn zyww(self) -> F32x4 { |
1740 | F32x4([self[2], self[1], self[3], self[3]]) |
1741 | } |
1742 | |
1743 | /// Constructs a new vector from the fourth, second, fourth, and fourth |
1744 | /// lanes in this vector, respectively. |
1745 | #[inline ] |
1746 | pub fn wyww(self) -> F32x4 { |
1747 | F32x4([self[3], self[1], self[3], self[3]]) |
1748 | } |
1749 | |
1750 | /// Constructs a new vector from the first, third, fourth, and fourth |
1751 | /// lanes in this vector, respectively. |
1752 | #[inline ] |
1753 | pub fn xzww(self) -> F32x4 { |
1754 | F32x4([self[0], self[2], self[3], self[3]]) |
1755 | } |
1756 | |
1757 | /// Constructs a new vector from the second, third, fourth, and fourth |
1758 | /// lanes in this vector, respectively. |
1759 | #[inline ] |
1760 | pub fn yzww(self) -> F32x4 { |
1761 | F32x4([self[1], self[2], self[3], self[3]]) |
1762 | } |
1763 | |
1764 | /// Constructs a new vector from the third, third, fourth, and fourth |
1765 | /// lanes in this vector, respectively. |
1766 | #[inline ] |
1767 | pub fn zzww(self) -> F32x4 { |
1768 | F32x4([self[2], self[2], self[3], self[3]]) |
1769 | } |
1770 | |
1771 | /// Constructs a new vector from the fourth, third, fourth, and fourth |
1772 | /// lanes in this vector, respectively. |
1773 | #[inline ] |
1774 | pub fn wzww(self) -> F32x4 { |
1775 | F32x4([self[3], self[2], self[3], self[3]]) |
1776 | } |
1777 | |
1778 | /// Constructs a new vector from the first, fourth, fourth, and fourth |
1779 | /// lanes in this vector, respectively. |
1780 | #[inline ] |
1781 | pub fn xwww(self) -> F32x4 { |
1782 | F32x4([self[0], self[3], self[3], self[3]]) |
1783 | } |
1784 | |
1785 | /// Constructs a new vector from the second, fourth, fourth, and fourth |
1786 | /// lanes in this vector, respectively. |
1787 | #[inline ] |
1788 | pub fn ywww(self) -> F32x4 { |
1789 | F32x4([self[1], self[3], self[3], self[3]]) |
1790 | } |
1791 | |
1792 | /// Constructs a new vector from the third, fourth, fourth, and fourth |
1793 | /// lanes in this vector, respectively. |
1794 | #[inline ] |
1795 | pub fn zwww(self) -> F32x4 { |
1796 | F32x4([self[2], self[3], self[3], self[3]]) |
1797 | } |
1798 | |
1799 | /// Constructs a new vector from the fourth, fourth, fourth, and fourth |
1800 | /// lanes in this vector, respectively. |
1801 | #[inline ] |
1802 | pub fn wwww(self) -> F32x4 { |
1803 | F32x4([self[3], self[3], self[3], self[3]]) |
1804 | } |
1805 | } |
1806 | |