This file contains the definition of a cubical set represented as a bitmap. More...
#include "chomp/system/config.h"
#include "chomp/struct/bitcount.h"
#include "chomp/struct/hashsets.h"
#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <cstring>
#include <queue>
Go to the source code of this file.
Classes | |
class | chomp::homology::Power< number, power > |
This is a helper class which makes the compiler compute n^k during the compilation of the program. More... | |
class | chomp::homology::Power< number, 0 > |
This is a specialization which defines n^0, necessary to stop the recursion defined in the "Power" template. More... | |
class | chomp::homology::SetOfFullCubes |
This is an abstract class which defines a set of full cubes represented as a bitmap for the purpose of the class "bincube". More... | |
class | chomp::homology::SetOfFullCubes::OutOfRange |
This class defines an error type which is caused by using coordinates of a cube out of range with respect to the given set of cubes represented as a bitmap. More... | |
class | chomp::homology::FixDimBitmap< Dim, twoPower > |
A fixed-dimensional bitmap of the size 2^n in each direction. More... | |
class | chomp::homology::bincube< Dim, twoPower > |
A binary n-dimensional hypercube for storing cubes as bits. More... | |
class | chomp::homology::bincube< Dim, twoPower >::iterator |
The iterator of the set of cubes within a bitmap. More... | |
class | chomp::homology::bincube< Dim, twoPower >::neighborhood_iterator |
The neighborhood of a cube. More... | |
class | chomp::homology::NeighborsBdd< cubetype, settype > |
This is a class used by the classes "Acyclic1d", "Acyclic2d", and "Acyclic3d" to use binary decision diagrams for the verification if a cubical neighborhood of a cube in the class "bincube" is acyclic. More... | |
class | chomp::homology::Acyclic1d< SetT > |
This class defines a procedure for verifying if a full-cubical neighborhood in a given set of a full cube of dimension 1 is acyclic. More... | |
class | chomp::homology::Acyclic2d< SetT > |
This class defines a procedure for verifying if a full-cubical neighborhood in a given set of a full cube of dimension 2 is acyclic. More... | |
class | chomp::homology::Acyclic3d< SetT > |
This class defines a procedure for verifying if a full-cubical neighborhood in a given set of a full cube of dimension 3 is acyclic. More... | |
class | chomp::homology::hashNumber< Number > |
A class of numbers that can be used in a hashed set. More... | |
Namespaces | |
namespace | chomp |
This namespace contains the entire CHomP library interface. | |
namespace | chomp::homology |
This namespace contains the core of the homology computation procedures and related classes and templates contained in the CHomP C++ library. | |
Typedefs | |
typedef hashedset< hashNumber < int > > | chomp::homology::hashIntQueue |
Functions | |
template<class coordinate > | |
void | chomp::homology::bit2neighborAlg (int number, const coordinate *src, coordinate *dest, int Dim) |
template<class settype > | |
settype::iterator | chomp::homology::bit2neighborAlg (const typename settype::iterator &q, int n) |
template<int Dim, int twoPower> | |
bool | chomp::homology::operator== (const typename bincube< Dim, twoPower >::neighborhood_iterator &x1, const typename bincube< Dim, twoPower >::neighborhood_iterator &x2) |
template<int Dim, int twoPower> | |
bool | chomp::homology::operator!= (const typename bincube< Dim, twoPower >::neighborhood_iterator &x1, const typename bincube< Dim, twoPower >::neighborhood_iterator &x2) |
template<int Dim, int twoPower> | |
std::ostream & | chomp::homology::operator<< (std::ostream &out, const bincube< Dim, twoPower > &b) |
template<int Dim, int twoPower> | |
std::istream & | chomp::homology::operator>> (std::istream &in, bincube< Dim, twoPower > &b) |
template<class Number > | |
int_t | chomp::homology::hashkey1 (const hashNumber< Number > &n) |
The first hashing key. | |
template<class Number > | |
int_t | chomp::homology::hashkey2 (const hashNumber< Number > &n) |
The second hashing key. | |
template<class SetT , class QueueT > | |
void | chomp::homology::addneighbors (const int &c, const SetT &s, QueueT &q) |
Adds the neighbors of the cube 'c' in the set 's' to the set 'q'. | |
template<typename SetT , typename Acyclic , typename QueueT > | |
int | chomp::homology::reduceFullCubesAlg (SetT &X, bool quiet) |
Reduces the set of full cubes. | |
template<class FullCubSet > | |
int | chomp::homology::reduceFullCubes (FullCubSet &X, bool quiet=false) |
Reduces the set of full cubes. |
This file contains the definition of a cubical set represented as a bitmap.
This is an experimental class, it has many limitations, e.g., the size of the bitmap must be a power of 2 and the same in all directions. It is recommended for usage only in very specialized applications.
Definition in file bincube.h.