예제 #1
0
        private bool ApplyXor(bool a, bool b)
        {
            var notA = _not.Apply(a);
            var notB = _not.Apply(b);

            var nAndA = _nAnd.Apply(a, notB);
            var nAndB = _nAnd.Apply(notA, b);

            return(_nAnd.Apply(nAndA, nAndB));
        }
예제 #2
0
        public bool Apply(bool input, bool set)
        {
            var a = _nAnd.Apply(input, set);
            var b = _nAnd.Apply(a, set);

            _c = _nAnd.Apply(b, _o);
            _o = _nAnd.Apply(a, _c);

            return(_o);
        }
예제 #3
0
        public bool Apply(params bool[] bits)
        {
            var negatedBits = bits.Select(s => _not.Apply(s)).ToArray();

            return(_nAnd.Apply(negatedBits));
        }