Skip to content

Commit 0ecf987

Browse files
Merge pull request #181 from rust-lang/rotate_lanes
rotate_{left,right} -> rotate_lanes_{left,right}
2 parents d2e8728 + 4e00aa6 commit 0ecf987

File tree

3 files changed

+37
-37
lines changed

3 files changed

+37
-37
lines changed

crates/core_simd/examples/matrix_inversion.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -180,58 +180,58 @@ pub fn simd_inv4x4(m: Matrix4x4) -> Option<Matrix4x4> {
180180
let row2 = simd_swizzle!(tmp, row3, SHUFFLE02);
181181
let row3 = simd_swizzle!(row3, tmp, SHUFFLE13);
182182

183-
let tmp = (row2 * row3).reverse().rotate_right::<2>();
183+
let tmp = (row2 * row3).reverse().rotate_lanes_right::<2>();
184184
let minor0 = row1 * tmp;
185185
let minor1 = row0 * tmp;
186-
let tmp = tmp.rotate_right::<2>();
186+
let tmp = tmp.rotate_lanes_right::<2>();
187187
let minor0 = (row1 * tmp) - minor0;
188188
let minor1 = (row0 * tmp) - minor1;
189-
let minor1 = minor1.rotate_right::<2>();
189+
let minor1 = minor1.rotate_lanes_right::<2>();
190190

191-
let tmp = (row1 * row2).reverse().rotate_right::<2>();
191+
let tmp = (row1 * row2).reverse().rotate_lanes_right::<2>();
192192
let minor0 = (row3 * tmp) + minor0;
193193
let minor3 = row0 * tmp;
194-
let tmp = tmp.rotate_right::<2>();
194+
let tmp = tmp.rotate_lanes_right::<2>();
195195

196196
let minor0 = minor0 - row3 * tmp;
197197
let minor3 = row0 * tmp - minor3;
198-
let minor3 = minor3.rotate_right::<2>();
198+
let minor3 = minor3.rotate_lanes_right::<2>();
199199

200-
let tmp = (row3 * row1.rotate_right::<2>())
200+
let tmp = (row3 * row1.rotate_lanes_right::<2>())
201201
.reverse()
202-
.rotate_right::<2>();
203-
let row2 = row2.rotate_right::<2>();
202+
.rotate_lanes_right::<2>();
203+
let row2 = row2.rotate_lanes_right::<2>();
204204
let minor0 = row2 * tmp + minor0;
205205
let minor2 = row0 * tmp;
206-
let tmp = tmp.rotate_right::<2>();
206+
let tmp = tmp.rotate_lanes_right::<2>();
207207
let minor0 = minor0 - row2 * tmp;
208208
let minor2 = row0 * tmp - minor2;
209-
let minor2 = minor2.rotate_right::<2>();
209+
let minor2 = minor2.rotate_lanes_right::<2>();
210210

211-
let tmp = (row0 * row1).reverse().rotate_right::<2>();
211+
let tmp = (row0 * row1).reverse().rotate_lanes_right::<2>();
212212
let minor2 = minor2 + row3 * tmp;
213213
let minor3 = row2 * tmp - minor3;
214-
let tmp = tmp.rotate_right::<2>();
214+
let tmp = tmp.rotate_lanes_right::<2>();
215215
let minor2 = row3 * tmp - minor2;
216216
let minor3 = minor3 - row2 * tmp;
217217

218-
let tmp = (row0 * row3).reverse().rotate_right::<2>();
218+
let tmp = (row0 * row3).reverse().rotate_lanes_right::<2>();
219219
let minor1 = minor1 - row2 * tmp;
220220
let minor2 = row1 * tmp + minor2;
221-
let tmp = tmp.rotate_right::<2>();
221+
let tmp = tmp.rotate_lanes_right::<2>();
222222
let minor1 = row2 * tmp + minor1;
223223
let minor2 = minor2 - row1 * tmp;
224224

225-
let tmp = (row0 * row2).reverse().rotate_right::<2>();
225+
let tmp = (row0 * row2).reverse().rotate_lanes_right::<2>();
226226
let minor1 = row3 * tmp + minor1;
227227
let minor3 = minor3 - row1 * tmp;
228-
let tmp = tmp.rotate_right::<2>();
228+
let tmp = tmp.rotate_lanes_right::<2>();
229229
let minor1 = minor1 - row3 * tmp;
230230
let minor3 = row1 * tmp + minor3;
231231

232232
let det = row0 * minor0;
233-
let det = det.rotate_right::<2>() + det;
234-
let det = det.reverse().rotate_right::<2>() + det;
233+
let det = det.rotate_lanes_right::<2>() + det;
234+
let det = det.reverse().rotate_lanes_right::<2>() + det;
235235

236236
if det.horizontal_sum() == 0. {
237237
return None;

crates/core_simd/src/swizzle.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,10 @@ where
203203
}
204204

205205
/// Rotates the vector such that the first `OFFSET` elements of the slice move to the end
206-
/// while the last `LANES - OFFSET` elements move to the front. After calling `rotate_left`, the
207-
/// element previously in lane `OFFSET` will become the first element in the slice.
206+
/// while the last `LANES - OFFSET` elements move to the front. After calling `rotate_lanes_left`,
207+
/// the element previously in lane `OFFSET` will become the first element in the slice.
208208
#[inline]
209-
pub fn rotate_left<const OFFSET: usize>(self) -> Self {
209+
pub fn rotate_lanes_left<const OFFSET: usize>(self) -> Self {
210210
const fn rotate_index<const OFFSET: usize, const LANES: usize>() -> [usize; LANES] {
211211
let offset = OFFSET % LANES;
212212
let mut index = [0; LANES];
@@ -228,10 +228,10 @@ where
228228
}
229229

230230
/// Rotates the vector such that the first `LANES - OFFSET` elements of the vector move to
231-
/// the end while the last `OFFSET` elements move to the front. After calling `rotate_right`, the
232-
/// element previously at index `LANES - OFFSET` will become the first element in the slice.
231+
/// the end while the last `OFFSET` elements move to the front. After calling `rotate_lanes_right`,
232+
/// the element previously at index `LANES - OFFSET` will become the first element in the slice.
233233
#[inline]
234-
pub fn rotate_right<const OFFSET: usize>(self) -> Self {
234+
pub fn rotate_lanes_right<const OFFSET: usize>(self) -> Self {
235235
const fn rotate_index<const OFFSET: usize, const LANES: usize>() -> [usize; LANES] {
236236
let offset = LANES - OFFSET % LANES;
237237
let mut index = [0; LANES];

crates/core_simd/tests/swizzle.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,18 @@ fn reverse() {
3434
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test)]
3535
fn rotate() {
3636
let a = Simd::from_array([1, 2, 3, 4]);
37-
assert_eq!(a.rotate_left::<0>().to_array(), [1, 2, 3, 4]);
38-
assert_eq!(a.rotate_left::<1>().to_array(), [2, 3, 4, 1]);
39-
assert_eq!(a.rotate_left::<2>().to_array(), [3, 4, 1, 2]);
40-
assert_eq!(a.rotate_left::<3>().to_array(), [4, 1, 2, 3]);
41-
assert_eq!(a.rotate_left::<4>().to_array(), [1, 2, 3, 4]);
42-
assert_eq!(a.rotate_left::<5>().to_array(), [2, 3, 4, 1]);
43-
assert_eq!(a.rotate_right::<0>().to_array(), [1, 2, 3, 4]);
44-
assert_eq!(a.rotate_right::<1>().to_array(), [4, 1, 2, 3]);
45-
assert_eq!(a.rotate_right::<2>().to_array(), [3, 4, 1, 2]);
46-
assert_eq!(a.rotate_right::<3>().to_array(), [2, 3, 4, 1]);
47-
assert_eq!(a.rotate_right::<4>().to_array(), [1, 2, 3, 4]);
48-
assert_eq!(a.rotate_right::<5>().to_array(), [4, 1, 2, 3]);
37+
assert_eq!(a.rotate_lanes_left::<0>().to_array(), [1, 2, 3, 4]);
38+
assert_eq!(a.rotate_lanes_left::<1>().to_array(), [2, 3, 4, 1]);
39+
assert_eq!(a.rotate_lanes_left::<2>().to_array(), [3, 4, 1, 2]);
40+
assert_eq!(a.rotate_lanes_left::<3>().to_array(), [4, 1, 2, 3]);
41+
assert_eq!(a.rotate_lanes_left::<4>().to_array(), [1, 2, 3, 4]);
42+
assert_eq!(a.rotate_lanes_left::<5>().to_array(), [2, 3, 4, 1]);
43+
assert_eq!(a.rotate_lanes_right::<0>().to_array(), [1, 2, 3, 4]);
44+
assert_eq!(a.rotate_lanes_right::<1>().to_array(), [4, 1, 2, 3]);
45+
assert_eq!(a.rotate_lanes_right::<2>().to_array(), [3, 4, 1, 2]);
46+
assert_eq!(a.rotate_lanes_right::<3>().to_array(), [2, 3, 4, 1]);
47+
assert_eq!(a.rotate_lanes_right::<4>().to_array(), [1, 2, 3, 4]);
48+
assert_eq!(a.rotate_lanes_right::<5>().to_array(), [4, 1, 2, 3]);
4949
}
5050

5151
#[test]

0 commit comments

Comments
 (0)