Example #1
0
        //checks output when changing control bit
        public override bool TestGate()
        {
            Control.Value = 1;
            String first_string  = "[";
            String second_string = "[";

            for (int i = 0; i < Size; i++)
            {
                Input[i].Value = 1;
                first_string   = first_string + "1";
                second_string  = second_string + "0";
            }
            first_string  = first_string + "]";
            second_string = second_string + "]";
            if (!Output1.ToString().Equals(second_string) || !Output2.ToString().Equals(first_string))
            {
                return(false);
            }

            Control.Value = 0;
            if (!Output1.ToString().Equals(first_string) || !Output2.ToString().Equals(second_string))
            {
                return(false);
            }

            return(true);
        }
Example #2
0
        public override string ToString()
        {
            string g  = guard.ToString();
            string o1 = (Output == null ? "" : "/" + Output.ToString());
            string o2 = (Output2 == null ? "" : "/" + Output2.ToString());
            string u  = (Update == null ? "" : "; r:=" + Update.ToString());
            string s  = String.Format("{4}{0}{1}{2}{3}{5}{6}", g, o1, o2, u, (IsFinal ? "[" : ""), (IsFinal ? "]" : ""), (k > 1 ? "(" + k + ")" : ""));

            return(s);
        }