The bliss C++ API
|
A class for refinable, backtrackable ordered partitions. More...
#include <partition.hh>
Classes | |
class | Cell |
Data structure for holding information about a cell in a Partition. More... | |
Public Types | |
typedef unsigned int | BacktrackPoint |
Public Member Functions | |
BacktrackPoint | set_backtrack_point () |
void | goto_backtrack_point (BacktrackPoint p) |
Cell * | individualize (Cell *const cell, const unsigned int element) |
Cell * | get_cell (const unsigned int e) const |
void | init (const unsigned int N) |
bool | is_discrete () const |
size_t | print (FILE *const fp, const bool add_newline=true) const |
size_t | print_signature (FILE *const fp, const bool add_newline=true) const |
void | clear_ivs (Cell *const cell) |
A class for refinable, backtrackable ordered partitions.
This is rather a data structure with some helper functions than a proper self-contained class. That is, for efficiency reasons the fields of this class are directly manipulated from bliss::AbstractGraph and its subclasses. Conversely, some methods of this class modify the fields of bliss::AbstractGraph, too.
typedef unsigned int bliss::Partition::BacktrackPoint |
Type for backtracking points.
void bliss::Partition::clear_ivs | ( | Cell *const | cell | ) |
Clear the invariant_values of the elements in the Cell cell.
|
inline |
Get the cell of the element e
void bliss::Partition::goto_backtrack_point | ( | BacktrackPoint | p | ) |
Backtrack to the point p and remove it.
Partition::Cell * bliss::Partition::individualize | ( | Partition::Cell *const | cell, |
const unsigned int | element | ||
) |
void bliss::Partition::init | ( | const unsigned int | N | ) |
Initialize the partition to the unit partition (all elements in one cell) over the N > 0 elements {0,...,N-1}.
|
inline |
Returns true iff the partition is discrete, meaning that all the elements are in their own cells.
size_t bliss::Partition::print | ( | FILE *const | fp, |
const bool | add_newline = true |
||
) | const |
Print the partition into the file stream fp.
size_t bliss::Partition::print_signature | ( | FILE *const | fp, |
const bool | add_newline = true |
||
) | const |
Print the partition cell sizes into the file stream fp.
Partition::BacktrackPoint bliss::Partition::set_backtrack_point | ( | ) |
Get a new backtrack point for the current partition