예제 #1
0
        public override void Compute()
        {
            if (FirstCompute)
            {
                FirstCompute = false;

                BinaryVarValue binValue = new BinaryVarValue(Value.Width, true);
                binValue.SetBitsAndExtend(Value.Value, false);
                Result.Value.UpdateValue(ref binValue);
            }
        }
예제 #2
0
        public Output ComputeGetIfChanged()
        {
            if (Node != null)
            {
                ComputeNode();
            }
            else
            {
                ComputeCon();

                //Did connection value change?
                if (!OldValue.SameValue(ref Con.GetValue()))
                {
                    OldValue.SetBitsAndExtend(ref Con.GetValue(), false);
                    Con.Value.UpdateValueString();
                    return(Con);
                }
            }

            return(null);
        }
예제 #3
0
 public void UpdateValue(ref BinaryVarValue update)
 {
     Value.SetBitsAndExtend(ref update, IsSigned);
 }