예제 #1
0
void HungarianMatrix<T>::replaceZeros() { // step 4
	int row = -1,
		col = -1;
	bool done = false;
	while (!done) {
		findZero(row, col);
		if (row = -1) {
			done = true;
			changeMatrix();
		}
		else {
			matrix[row][col].state = Node::SECONDSTATE;
			if (starInRow(row)) {
				findStarInRow(row, col);
				check_rows[row] = 1;
				check_column[col] = 0;
			}
			else {
				done = true;
				path_col0 = col;
				path_row0 = row;
				csaz();
			}
		}
	}
}
예제 #2
0
void matrixEnter::changeWish(){
    this->close();

    QVariant func_type;

    func_type = mercury->data(100);
    QString str = func_type.toString();

    if(str == "determinant of a matrix" || str == "inverse matrix" || str == "trace of a matrix" ||
            str == "minimal polynomial of a matrix" || str == "characteristic polynomial of a matrix"
            || str == "eigenvalues of a matrix" || str == "adjoint matrix" || q){
        mercury->setText("rows / columns");
    }
    else if(str == "solve a system of linear equations"){
        mercury->setText("variables and equations");
    }
    else if(str == "* for matrices"){
        mercury->setText("columns");
    }
    else{
        mercury->setText("rows and columns");
    }

    emit changeMatrix(mercury);
}
stereoMatrixControls::stereoMatrixControls( stereoMatrixEffect * _eff ) :
		EffectControls( _eff ),
		m_effect( _eff ),
		m_llModel( 1.0f, -1.0f, 1.0f, 0.01f, this, tr( "Left to Left" ) ),
		m_lrModel( 0.0f, -1.0f, 1.0f, 0.01f, this, tr( "Left to Right" ) ),
		m_rlModel( 0.0f, -1.0f, 1.0f, 0.01f, this, tr( "Right to Left" ) ),
		m_rrModel( 1.0f, -1.0f, 1.0f, 0.01f, this, tr( "Right to Right" ) )
{
	connect( &m_llModel, SIGNAL( dataChanged() ),
			this, SLOT( changeMatrix() ) );
	connect( &m_lrModel, SIGNAL( dataChanged() ),
			this, SLOT( changeMatrix() ) );
	connect( &m_rlModel, SIGNAL( dataChanged() ),
			this, SLOT( changeMatrix() ) );
	connect( &m_rrModel, SIGNAL( dataChanged() ),
			this, SLOT( changeMatrix() ) );

	changeMatrix();
}