pub fn scr(self, shift: Number) -> Number {
        let layout = self.layout();
        let bits = self.len() * 8;
        let lhs = self.into_unsigned();
        assert!(layout.is_integer(), "bit shifting float number");
        let excess = u16::try_from(shift).map(|v| v % bits).expect(
            "shift value in `scl` operation must always be from either `a8` or `a16` registry",
        );
        let residue = lhs << Number::from(bits - excess);
        ((lhs >> Number::from(excess)) | residue).reshaped(layout, true).expect("restoring layout")
    }
/// Cyclic bit shift right. Panics if the number is not an integer.
Cyclic bit shift right. Panics if the number is not an integer.
Cyclic bit shift right . Panics if the number is not an integer .
pub fn scr(self, shift: Number) -> Number {
        let layout = self.layout();
        let bits = self.len() * 8;
        let lhs = self.into_unsigned();
        assert!(layout.is_integer(), "bit shifting float number");
        let excess = u16::try_from(shift).map(|v| v % bits).expect(
            "shift value in `scl` operation must always be from either `a8` or `a16` registry",
        );
        let residue = lhs << Number::from(bits - excess);
        ((lhs >> Number::from(excess)) | residue).reshaped(layout, true).expect("restoring layout")
    }
pub fn scr ( self , shift : Number ) -> Number { let layout = self . layout ( ) ; let bits = self . len ( ) * 8 ; let lhs = self . into_unsigned ( ) ; assert ! ( layout is_integer ( ) " " ) ; let excess = u16 :: try_from ( shift ) . map ( | v | v % bits ) . expect ( " " , ) ; let residue = lhs << Number :: from ( bits - excess ) ; ( ( lhs >> Number :: from ( excess ) ) | residue ) . reshaped ( layout , true ) . expect ( " " ) }
Cyclic bit shift right.
Cyclic bit shift right .
self
shift
Number
self
shift
Number