Skip to content

Bit shifting functions

Charles Schlosser requested to merge chuckyschluz/eigen-chucky:eigen_util into master

Reference issue

What does this implement/fix?

Working on a feature that requires better bit shifting utilities. Rather than merging it all at once, I am splitting it up so its easier to review.

  • Adds scalar bit shift operators to numext: logical_shift_left, logical_shift_right, arithmetic_shift_right. Currently, these are limited to integer types, though I could lift that restriction since I use bit_cast to force the arithmetic shift on unsigned types, and vice-versa with logical shift on signed.
  • Generalize the scalar implementation of plogical_shift_left and friends so they can be used in scalar code

Additional information

Edited by Charles Schlosser

Merge request reports