Example #1
0
        /***************************************************************************/

        public int executeOnSimpleLogicSet(LogicSet _set)
        {
            int dontCareIndex = findValue(_set, LogicValue.Enum.DontCare);

            if (dontCareIndex != -1)
            {
                throw new Exception();
            }

            int currentBinaryPow = 1;
            int resultNumber     = 0;

            for (int i = 0; i < _set.Count; ++i)
            {
                int logicValueAsNumber = LogicValue.asNumber(_set[i]);

                resultNumber += currentBinaryPow * logicValueAsNumber;

                currentBinaryPow *= 2;
            }

            return(resultNumber);
        }