Example #1
0
            : new Float64Value(0); // TODO: unknown float64

        /// <inheritdoc />
        public void WriteInteger8(int offset, Integer8Value value)
        {
            if (IsKnown)
            {
                BasePointer.WriteInteger8(CurrentOffset + offset, value);
            }
        }
Example #2
0
        public void TwosComplement(string input, string expected)
        {
            var value = new Integer8Value(input);

            value.TwosComplement();
            Assert.Equal(new Integer8Value(expected), value);
        }
Example #3
0
        /// <inheritdoc />
        public void WriteInteger8(int offset, Integer8Value value)
        {
            AssertOffsetValidity(offset, sizeof(byte));

            _memory.Span[offset]       = value.U8;
            _knownBitMask.Span[offset] = value.Mask;
        }
Example #4
0
            : new Float64Value(0); // TODO: unknown float64

        /// <inheritdoc />
        public void WriteInteger8(int offset, Integer8Value value)
        {
            if (IsKnown)
            {
                ReferencedMemory.WriteInteger8(CurrentOffset + offset, value);
            }
        }
Example #5
0
        public void IsGreaterThan(string a, string b, bool signed, TrileanValue expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            Assert.Equal(expected, value1.IsGreaterThan(value2, signed));
        }
Example #6
0
        public void IsEqualTo(string a, string b, TrileanValue expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            Assert.Equal(expected, value1.IsEqualTo(value2));
        }
Example #7
0
        public void ParsePartiallyKnownBitString()
        {
            var value = new Integer8Value("000011??");

            Assert.Equal(0b11111100, value.Mask);
            Assert.Equal(0b00001100, value.U8 & value.Mask);
        }
Example #8
0
        public void RightShift(string input, int count, bool signExtend, string expected)
        {
            var value = new Integer8Value(input);

            value.RightShift(count, signExtend);
            Assert.Equal(new Integer8Value(expected), value);
        }
Example #9
0
        public void LeftShift(string input, int count, string expected)
        {
            var value = new Integer8Value(input);

            value.LeftShift(count);
            Assert.Equal(new Integer8Value(expected), value);
        }
Example #10
0
        public void Not(string input, string expected)
        {
            var value1 = new Integer8Value(input);

            value1.Not();

            Assert.Equal(new Integer8Value(expected), value1);
        }
Example #11
0
        public void Remainder(string a, string b, string expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            value1.Remainder(value2);

            Assert.Equal(new Integer8Value(expected), value1);
        }
Example #12
0
        public void Subtract(string a, string b, string expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            value1.Subtract(value2);

            Assert.Equal(new Integer8Value(expected), value1);
        }
Example #13
0
        public void KnownValueSignedUnsignedSame()
        {
            var value = new Integer8Value(0x12);

            Assert.True(value.IsKnown);
            Assert.Equal(Integer8Value.FullyKnownMask, value.Mask);
            Assert.Equal(0x12, value.U8);
            Assert.Equal(0x12, value.I8);
        }
Example #14
0
        public void KnownValueSignedUnsignedDifferent()
        {
            var value = new Integer8Value(0x80);

            Assert.True(value.IsKnown);
            Assert.Equal(Integer8Value.FullyKnownMask, value.Mask);
            Assert.Equal(0x80, value.U8);
            Assert.Equal(-0x80, value.I8);
        }
Example #15
0
        public void Multiply(string a, string b, string expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            value1.Multiply(value2);

            Assert.Equal(new Integer8Value(expected), value1);
        }
Example #16
0
        public void Divide(string a, string b, string expected)
        {
            var value1 = new Integer8Value(a);
            var value2 = new Integer8Value(b);

            value1.Divide(value2);

            Assert.Equal(new Integer8Value(expected), value1);
        }
Example #17
0
        public void ParseFewerBits()
        {
            var value = new Integer8Value("101");

            Assert.Equal(0b101, value.U8);
        }
Example #18
0
        public void ParseFullyKnownBitString()
        {
            var value = new Integer8Value("00001100");

            Assert.Equal(0b00001100, value.U8);
        }
Example #19
0
        public void ParseWithMoreZeroes()
        {
            var value = new Integer8Value("0000000000000101");

            Assert.Equal(0b101, value.U8);
        }
Example #20
0
        public void IsZero(string input, TrileanValue expected)
        {
            var value = new Integer8Value(input);

            Assert.Equal(expected, value.IsZero);
        }
 /// <inheritdoc />
 public void WriteInteger8(int offset, Integer8Value value) => Contents.WriteInteger8(offset, value);