You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Switching a project from packed_simd_2 to simd_core, I noticed that rotate_left and rotate_right have become horizontal operations, borrowing from std::slice.
I believe this to be inconsistent and surprising
since I consider SIMD types arithmetic types first,
since rotate_left is (conceptually) just (x << n) | (x >> (BITS - n)) and these constituent operations remain vertical,
since rotate_left/right already exist in std as (trivially) vertical operations.
Also, there is precedent for horizontal_ operations but not for explicitly vertical ones.
Therefore, whether or not simd_core ends up providing vertical rotation, I propose renaming the methods in question to something like horizontal_rotate_left.
The text was updated successfully, but these errors were encountered:
Switching a project from
packed_simd_2
tosimd_core
, I noticed thatrotate_left
androtate_right
have become horizontal operations, borrowing fromstd::slice
.I believe this to be inconsistent and surprising
rotate_left
is (conceptually) just(x << n) | (x >> (BITS - n))
and these constituent operations remain vertical,rotate_left
/right
already exist instd
as (trivially) vertical operations.Also, there is precedent for
horizontal_
operations but not for explicitly vertical ones.Therefore, whether or not
simd_core
ends up providing vertical rotation, I propose renaming the methods in question to something likehorizontal_rotate_left
.The text was updated successfully, but these errors were encountered: