Skip to content

Commit f510c6b

Browse files
Merge pull request rust-lang#367 from rust-lang/simpler-swizzle-trait
Simplify Swizzle trait
2 parents 21fa6af + 6e0de19 commit f510c6b

File tree

5 files changed

+180
-197
lines changed

5 files changed

+180
-197
lines changed

crates/core_simd/examples/matrix_inversion.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22
// Code ported from the `packed_simd` crate
33
// Run this code with `cargo test --example matrix_inversion`
44
#![feature(array_chunks, portable_simd)]
5-
use core_simd::simd::{
6-
prelude::*,
7-
Which::{self, *},
8-
};
5+
use core_simd::simd::prelude::*;
96

107
// Gotta define our own 4x4 matrix since Rust doesn't ship multidim arrays yet :^)
118
#[derive(Copy, Clone, Debug, PartialEq, PartialOrd)]
@@ -166,10 +163,10 @@ pub fn simd_inv4x4(m: Matrix4x4) -> Option<Matrix4x4> {
166163
let m_2 = f32x4::from_array(m[2]);
167164
let m_3 = f32x4::from_array(m[3]);
168165

169-
const SHUFFLE01: [Which; 4] = [First(0), First(1), Second(0), Second(1)];
170-
const SHUFFLE02: [Which; 4] = [First(0), First(2), Second(0), Second(2)];
171-
const SHUFFLE13: [Which; 4] = [First(1), First(3), Second(1), Second(3)];
172-
const SHUFFLE23: [Which; 4] = [First(2), First(3), Second(2), Second(3)];
166+
const SHUFFLE01: [usize; 4] = [0, 1, 4, 5];
167+
const SHUFFLE02: [usize; 4] = [0, 2, 4, 6];
168+
const SHUFFLE13: [usize; 4] = [1, 3, 5, 7];
169+
const SHUFFLE23: [usize; 4] = [2, 3, 6, 7];
173170

174171
let tmp = simd_swizzle!(m_0, m_1, SHUFFLE01);
175172
let row1 = simd_swizzle!(m_2, m_3, SHUFFLE01);

crates/core_simd/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
const_mut_refs,
66
convert_float_to_int,
77
decl_macro,
8+
inline_const,
89
intra_doc_pointers,
910
platform_intrinsics,
1011
repr_simd,

0 commit comments

Comments
 (0)