コード例 #1
0
ファイル: Multiplexer.cs プロジェクト: DouahIlies/CircLab
        public override void Run()
        {
            update_input();
            outputs_tab.Clear();

            int val = ClassConverter.ConvertToInt(selections_tab);

            outputs_tab.Add(inputs_tab[val]);
            update_output();
        }
コード例 #2
0
ファイル: Demultiplexer.cs プロジェクト: DouahIlies/CircLab
        public override void Run()
        {
            update_input();
            outputs_tab.Clear();

            for (int i = 0; i < nbrOutputs(); i++)
            {
                outputs_tab.Add(false);
            }
            int val = ClassConverter.ConvertToInt(selections_tab);

            outputs_tab[val] = inputs_tab[0];
            update_output();
        }
コード例 #3
0
ファイル: Decodeur.cs プロジェクト: DouahIlies/CircLab
        public override void Run()
        {
            update_input();
            outputs_tab.Clear();
            for (int i = 0; i < _nbroutput; i++)
            {
                outputs_tab.Add(false);
            }

            int val = ClassConverter.ConvertToInt(inputs_tab);

            outputs_tab[val] = true;
            update_output();
        }
コード例 #4
0
ファイル: FullAdder.cs プロジェクト: DouahIlies/CircLab
        public override void Run()
        {
            update_input();
            int val = 0;

            for (int i = 0; i <= 2; i++)
            {
                if ((bool)inputs_tab[i])
                {
                    val++;
                }
            }
            outputs_tab = ClassConverter.ConvertToBinary(val, 2);
            update_output();
        }
コード例 #5
0
ファイル: Encodeur .cs プロジェクト: DouahIlies/CircLab
        public override void Run()
        {
            update_input();
            outputs_tab.Clear();
            int val = 0;

            while ((val < inputs_tab.Count) && ((bool)inputs_tab[val] == false))
            {
                val++;
            }
            if (val == inputs_tab.Count)
            {
                val = 0;
            }
            outputs_tab = ClassConverter.ConvertToBinary(val, nbrOutputs());
            update_output();
        }
コード例 #6
0
        public override void Run()
        {
            outputs_tab.Clear ();
            update_input();

            ArrayList inputs_tab_1 = new ArrayList();
            ArrayList inputs_tab_2 = new ArrayList();
            int cpt = (inputs_tab.Count + 1) / 2; 
            for (int i = 0; i < cpt ; i++)
            {
                inputs_tab_1.Add(inputs_tab[i]);
            }

            for (int i = cpt ; i < inputs_tab.Count; i++)
            {
                inputs_tab_2.Add(inputs_tab[i]);
            }

            int val1 = ClassConverter.ConvertToInt(inputs_tab_1);
            int val2 = ClassConverter.ConvertToInt(inputs_tab_2);
            
            if (val1 < val2)
            {
                outputs_tab.Add(true);
                outputs_tab.Add(false);
                outputs_tab.Add(false);
            }
            else
            {
                if (val1 > val2)
                { 
                    outputs_tab.Add(false);
                    outputs_tab.Add(false);
                    outputs_tab.Add(true);
                }
            else // val1 == val 2 
                {
                    outputs_tab.Add(false);
                    outputs_tab.Add(true);
                    outputs_tab.Add(false);
                }
            }

            update_output();
        }