Classes | Namespaces | Typedefs | Functions

bincube.h File Reference

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.

Detailed Description

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.

Author:
Pawel Pilarczyk

Definition in file bincube.h.