using System; namespace hwo.bitworks { public class RotateRight : MultipleBitsSource { int n; public RotateRight(LogicBase[] sources,int n) :base(sources) { this.n = n; } public override bool bitValue(int bit) { int m = (bit + n) % getBits(); if (m < 0) m += getBits(); return sources[m].value(); } public override identity.BitIdentity getBitIdentity(int bit) { int m = (bit + n) % getBits(); if (m < 0) m += getBits(); return sources[m].identity(); } } }