Module refinery.units.blockwise.rotl
Expand source code Browse git
from __future__ import annotations
from refinery.units.blockwise import BinaryOperation
class rotl(BinaryOperation):
"""
Rotate the bits of each block left.
"""
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 >> (self.fbits - shift)
value <<= shift
value |= lower
Classes
class rotl (*argument, bigendian=False, blocksize=1)-
Rotate the bits of each block left.
Expand source code Browse git
class rotl(BinaryOperation): """ Rotate the bits of each block left. """ 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 >> (self.fbits - shift) value <<= 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 >> (self.fbits - shift) value <<= shift value |= lower
Inherited members