예제 #1
0
        public FltVarList Row(int vrow)
        {
            FltVarList list = new FltVarList(m_Solver);

            for (int col = 0; col < m_ColCount; ++col)
            {
                list.Add(Cell(vrow, col));
            }

            return(list);
        }
예제 #2
0
        public FltVarList Col(int vcol)
        {
            FltVarList list = new FltVarList(m_Solver);

            for (int row = 0; row < m_RowCount; ++row)
            {
                list.Add(Cell(row, vcol));
            }

            return(list);
        }
예제 #3
0
        public FltVarMatrix Matrix(int rowOffset, int colOffset, int rowCount, int colCount)
        {
            FltVarList list = new FltVarList(m_Solver);

            for (int row = 0; row < rowCount; ++row)
            {
                for (int col = 0; col < colCount; ++col)
                {
                    list.Add(Cell(rowOffset + row, colOffset + col));
                }
            }

            return(new FltVarMatrix(m_Solver, rowCount, colCount, list));
        }
예제 #4
0
        private void InitMatrix(FltDomain domain)
        {
            m_VarList = new FltVarList(m_Solver, m_RowCount * m_ColCount);

            for (int row = 0; row < m_RowCount; ++row)
            {
                for (int col = 0; col < m_ColCount; ++col)
                {
                    string name = row.ToString() + "." + col.ToString();

                    FltVar cell = new FltVar(m_Solver, domain, name);

                    m_VarList.Add(cell);
                }
            }
        }
예제 #5
0
        public FltVarList DiagRightTopToBottomLeft()
        {
            FltVarList list = new FltVarList(m_Solver);

            if (m_RowCount == m_ColCount)
            {
                int size = m_RowCount;

                for (int idx = 0; idx < size; ++idx)
                {
                    list.Add(Cell(idx, (size - 1) - idx));
                }
            }

            return(list);
        }
예제 #6
0
파일: FltVarMatrix.cs 프로젝트: nofear/Mara
        private void InitMatrix( FltDomain domain )
        {
            m_VarList	= new FltVarList( m_Solver, m_RowCount * m_ColCount );

            for( int row = 0; row < m_RowCount; ++row )
            {
                for( int col = 0; col < m_ColCount; ++col )
                {
                    string name		= row.ToString() + "." + col.ToString();

                    FltVar cell		= new FltVar( m_Solver, domain, name );

                    m_VarList.Add( cell );
                }
            }
        }
예제 #7
0
파일: FltVarMatrix.cs 프로젝트: nofear/Mara
        public FltVarList Row( int vrow )
        {
            FltVarList list	= new FltVarList( m_Solver );

            for( int col = 0; col < m_ColCount; ++col )
            {
                list.Add( Cell( vrow, col ) );
            }

            return list;
        }
예제 #8
0
파일: FltVarMatrix.cs 프로젝트: nofear/Mara
        public FltVarMatrix Matrix( int rowOffset, int colOffset, int rowCount, int colCount )
        {
            FltVarList list	= new FltVarList( m_Solver );

            for( int row = 0; row < rowCount; ++row )
            {
                for( int col = 0; col < colCount; ++col )
                {
                    list.Add( Cell( rowOffset + row, colOffset + col ) );
                }
            }

            return new FltVarMatrix( m_Solver, rowCount, colCount, list );
        }
예제 #9
0
파일: FltVarMatrix.cs 프로젝트: nofear/Mara
        public FltVarList DiagRightTopToBottomLeft()
        {
            FltVarList list	= new FltVarList( m_Solver );

            if( m_RowCount == m_ColCount )
            {
                int size	= m_RowCount;

                for( int idx = 0; idx < size; ++idx )
                {
                    list.Add( Cell( idx, ( size - 1 ) - idx ) );
                }
            }

            return list;
        }
예제 #10
0
파일: FltVarMatrix.cs 프로젝트: nofear/Mara
        public FltVarList Col( int vcol )
        {
            FltVarList list	= new FltVarList( m_Solver );

            for( int row = 0; row < m_RowCount; ++row )
            {
                list.Add( Cell( row, vcol ) );
            }

            return list;
        }