LynnaLab.Data.SetWordValue C# (CSharp) Method

SetWordValue() public method

public SetWordValue ( int i, int value ) : void
i int
value int
return void
        public void SetWordValue(int i, int value)
        {
            SetValue(i, Wla.ToWord(value));
        }

Usage Example

示例#1
0
        public virtual void SetValue(int i)
        {
            switch (ValueType)
            {
            case DataValueType.HalfByte:
                data.SetValue(valueIndex, Wla.ToHalfByte((byte)i));
                break;

            case DataValueType.Byte:
            case DataValueType.WarpDestIndex:
            default:
                data.SetByteValue(valueIndex, (byte)i);
                break;

            case DataValueType.Word:
                data.SetWordValue(valueIndex, i);
                break;

            case DataValueType.ByteBits:
            case DataValueType.WordBits:
            {
                int andValue = ((1 << (endBit - startBit + 1)) - 1);
                int value    = data.GetIntValue(valueIndex) & (~(andValue << startBit));
                value |= ((i & andValue) << startBit);
                if (ValueType == DataValueType.ByteBits)
                {
                    data.SetByteValue(valueIndex, (byte)value);
                }
                else
                {
                    data.SetWordValue(valueIndex, value);
                }
            }
            break;

            case DataValueType.ByteBit:
            {
                int value = data.GetIntValue(valueIndex) & ~(1 << startBit);
                value |= ((i & 1) << startBit);
                data.SetByteValue(valueIndex, (byte)value);
            }
            break;
            }
        }