src/utils/matrix/operation/CyclicPoolMatrixOperation.java
public void apply(int row, int column, double value) throws MatrixException {
        input.sliceAt(row, column, row + filterRowSize - 1, column + filterColumnSize - 1);
        int filterRow = currentRow;
        int filterColumn = currentColumn;
        double inputValue = input.getValue(filterRow, filterColumn);
        result.setValue(row, column, inputValue);
        inputPos.put(2 * (row * inputColumnSize + column), row + filterRow);
        inputPos.put(2 * (row * inputColumnSize + column) + 1, column + filterColumn);
        if(++currentRow >= filterRowSize) {
            currentRow = 0;
            if(++currentColumn >= filterColumnSize) currentColumn = 0;
        }
        input.unslice();
    }
/**
     * Applies operation.
     *
     * @param row current row.
     * @param column current column.
     * @param value current value.
     * @throws MatrixException throws exception if matrix operation fails.
     */
Applies operation.

@param row current row.
@param column current column.
@param value current value.
@throws MatrixException throws exception if matrix operation fails.
Applies operation . @param row current row . @param column current column . @param value current value . @throws MatrixException throws exception if matrix operation fails .
public void apply(int row, int column, double value) throws MatrixException {
        input.sliceAt(row, column, row + filterRowSize - 1, column + filterColumnSize - 1);
        int filterRow = currentRow;
        int filterColumn = currentColumn;
        double inputValue = input.getValue(filterRow, filterColumn);
        result.setValue(row, column, inputValue);
        inputPos.put(2 * (row * inputColumnSize + column), row + filterRow);
        inputPos.put(2 * (row * inputColumnSize + column) + 1, column + filterColumn);
        if(++currentRow >= filterRowSize) {
            currentRow = 0;
            if(++currentColumn >= filterColumnSize) currentColumn = 0;
        }
        input.unslice();
    }
public void apply ( int row , int column , double value ) throws MatrixException { input . sliceAt ( row , column , row + filterRowSize - 1 , column + filterColumnSize - 1 ) ; int filterRow = currentRow ; int filterColumn = currentColumn ; double inputValue = input . getValue ( filterRow , filterColumn ) ; result . setValue ( row , column , inputValue ) ; inputPos . put ( 2 * ( row * inputColumnSize + column ) , row + filterRow ) ; inputPos . put ( 2 * ( row * inputColumnSize + column ) + 1 , column + filterColumn ) ; if ( ++ currentRow >= filterRowSize ) { currentRow = 0 ; if ( ++ currentColumn >= filterColumnSize ) currentColumn = 0 ; } input . unslice ( ) ; }
Applies operation.
Applies operation .