Module refinery.units.blockwise.rotr
Expand source code Browse git
from __future__ import annotations
from refinery.units.blockwise import BinaryOperation
class rotr(BinaryOperation):
"""
Rotate the bits of each block right.
"""
def operate(self, value, shift):
shift %= self.fbits
return (value >> shift) | (value << (self.fbits - shift))
def inplace(self, value, shift):
shift %= self.fbits
lower = value >> shift
value <<= self.fbits - shift
value |= lower
Classes
class rotr (*argument, bigendian=False, blocksize=1)-
Rotate the bits of each block right.
Expand source code Browse git
class rotr(BinaryOperation): """ Rotate the bits of each block right. """ def operate(self, value, shift): shift %= self.fbits return (value >> shift) | (value << (self.fbits - shift)) def inplace(self, value, shift): shift %= self.fbits lower = value >> shift value <<= self.fbits - shift value |= lowerAncestors
Subclasses
Class variables
var required_dependenciesvar optional_dependenciesvar consolevar reverse
Methods
def operate(self, value, shift)-
Expand source code Browse git
def operate(self, value, shift): shift %= self.fbits return (value >> shift) | (value << (self.fbits - shift)) def inplace(self, value, shift)-
Expand source code Browse git
def inplace(self, value, shift): shift %= self.fbits lower = value >> shift value <<= self.fbits - shift value |= lower
Inherited members