Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

SparseBitmatrix_setdifference.hpp File Reference

#include "eclat/SparseBitvector_setdifference.hpp"
#include "common/debug.hpp"

Include dependency graph for SparseBitmatrix_setdifference.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define __SPARSEBITMATRIX_SETDIFFERENCE_HPP_   t
 SparseBitmatrix_setdifference.hpp -- compute setdifferences of all rows of a sparse bitmatrix with a given one of its rows.

Functions

template<bool EARLY_FILTERING, bool REMOVE_IDENTICAL_ROWS, class OutputIterator>
int setdifferenceOfSparseBitmatrix (const SparseBitmatrix &bmIn, const int row, SparseBitmatrix &bmOut, const int maximalLength, OutputIterator identicalRowsIterator)
 Compute the difference of a given row minus every other row (with higher index).
template<bool EARLY_FILTERING, bool REMOVE_IDENTICAL_ROWS, class OutputIterator>
int setdifferenceBySparseBitmatrix (const SparseBitmatrix &bmIn, const int row, SparseBitmatrix &bmOut, const int maximalLength, OutputIterator identicalRowsIterator)
 Compute the difference of every other row (with higher index) minus a given row.
template<bool EARLY_FILTERING>
int cardinalitySetdifferenceBySparseBitmatrix_TwoRows (const SparseBitmatrix &bmIn, const int maximalLength)
 Special case: only two rows.


Define Documentation

#define __SPARSEBITMATRIX_SETDIFFERENCE_HPP_   t
 

SparseBitmatrix_setdifference.hpp -- compute setdifferences of all rows of a sparse bitmatrix with a given one of its rows.

Definition at line 7 of file SparseBitmatrix_setdifference.hpp.


Function Documentation

template<bool EARLY_FILTERING>
int cardinalitySetdifferenceBySparseBitmatrix_TwoRows const SparseBitmatrix bmIn,
const int  maximalLength
 

Special case: only two rows.

Compute |row1 \ row0| if <= maximalLength; return maximalLength + 1 otherwise.

Definition at line 133 of file SparseBitmatrix_setdifference.hpp.

References GET_ROW.

template<bool EARLY_FILTERING, bool REMOVE_IDENTICAL_ROWS, class OutputIterator>
int setdifferenceBySparseBitmatrix const SparseBitmatrix bmIn,
const int  row,
SparseBitmatrix bmOut,
const int  maximalLength,
OutputIterator  identicalRowsIterator
 

Compute the difference of every other row (with higher index) minus a given row.

I.e., compute $bmIn_row' \setminus bmIn_row$ for all row' > row. Keep only rows with at least one element and at most a given maximal length; mark row indices of rows identical to the reference row that would lead to empty rows.

Parameters:
bmIn original bit matrix. Each row'>row has length <= lenght(row) + maximalLength.
row reference row to compute rest by.
bmOut output bit matrix to fill intersection into. The i-th row must have capacity(i) >= min(length(row+1+i), maximalLength) if EARLY_FILTERING or capacity(i) >= length(row+1+i) if not EARLY_FILTERING
maximalLength maximal length of output rows.
identicalRowsIterator output iterator for row indices of rows identical to the reference row
Returns:
number of rows in output bit matrix.

Definition at line 89 of file SparseBitmatrix_setdifference.hpp.

References GET_ROW, SparseBitmatrix::nRows(), SparseBitmatrix::rowLabel(), SparseBitmatrix::setMaxRowLength(), SparseBitmatrix::setNRows(), and SparseBitmatrix::setRowLabel().

template<bool EARLY_FILTERING, bool REMOVE_IDENTICAL_ROWS, class OutputIterator>
int setdifferenceOfSparseBitmatrix const SparseBitmatrix bmIn,
const int  row,
SparseBitmatrix bmOut,
const int  maximalLength,
OutputIterator  identicalRowsIterator
 

Compute the difference of a given row minus every other row (with higher index).

I.e., compute $bmIn_row \setminus bmIn_row'$ for all row' > row. Keep only rows with at least one element but a given maximal number of elements; mark row indices of rows identical to the reference row that would lead to empty rows.

Parameters:
bmIn original bit matrix. Each row'>=row has length >= ... [[minimalDefect]].
row reference row to compute rest of.
bmOut output bit matrix to fill setdifference into. Each row must have capacity >= min(length(row), maximalLength) (with EARLY_FILTERING). or capacity >= length(row) (without EARLY_FILTERING).
maximalLength maximal number of elements in results.
identicalRowsIterator output iterator for row indices of rows identical to the reference row
Returns:
number of rows in output bit matrix.

Definition at line 31 of file SparseBitmatrix_setdifference.hpp.

References GET_ROW, SparseBitmatrix::nRows(), SparseBitmatrix::rowLabel(), SparseBitmatrix::setMaxRowLength(), SparseBitmatrix::setNRows(), and SparseBitmatrix::setRowLabel().


Generated on Sun Sep 17 17:54:23 2006 for FIM environment by  doxygen 1.4.4