public CKarnaughTable(EKarnaughTableType tableType)
        {
            int mintermsCount = -1;

            m_tableType = tableType;

            switch (tableType)
            {
            case EKarnaughTableType.Karnaugh3Var:
                mintermsCount  = 8;
                m_tableLetters = new char[3] {
                    'A', 'B', 'C'
                };
                break;

            case EKarnaughTableType.Karnaugh4Var:
                mintermsCount  = 16;
                m_tableLetters = new char[4] {
                    'A', 'B', 'C', 'D'
                };
                break;
            }

            // Create minterms of table
            m_minterms = new CMinterm[mintermsCount];
            for (int i = 0; i < mintermsCount; i++)
            {
                m_minterms[i] = new CMinterm();
                m_minterms[i].SetIndex(i);
            }
        }
        public string GetBinaryIndex(EKarnaughTableType tableType)
        {
            int digitsCount;

            if (tableType == EKarnaughTableType.Karnaugh3Var)
            {
                digitsCount = 3;
            }
            else
            {
                digitsCount = 4;
            }

            return(BinaryManip.GetBinaryValue(m_mintermIndex, digitsCount));
        }