public void AllXesGives36Nodes() { var mask = BitMask.FromString("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); var memPos = MemoryPosition.FromString("111111111111111111111111111111111111"); memPos = mask.Apply(memPos); var topNode = new UnsplitNode(); topNode.SetValue(memPos, 0, MemoryValue.FromLong(1)); Assert.AreEqual(36, topNode.GetTreeSize()); }
public void SmallerTest() { Memory.REGISTER_SIZE = 6; var mem = new Memory(2); var bitMask = BitMask.FromString("X1001X"); var memPos = MemoryPosition.FromLong(42); var memVal = MemoryValue.FromLong(100); mem.SetMask(bitMask); mem.SetValue(memPos, memVal); Assert.AreEqual(400, mem.GetSummedValue()); }
public Memory(int chipVersion) { this.chipVersion = chipVersion; this.memRoot = new UnsplitNode(); this.bitMask = BitMask.FromString("".PadRight(Memory.REGISTER_SIZE, 'X')); }