This file contains the definition of a point base class which is used for indexing all the points (n-tuples of integer coordinates) which are used in the program. More...
#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include "chomp/cubes/pointset.h"
#include <iostream>
#include <fstream>
#include <cstdlib>
Go to the source code of this file.
Classes | |
class | chomp::homology::tPointBase< coordtype > |
This class keeps a common set of points which are indexed for the use of other classes, like cubes or cubical cells. More... | |
class | chomp::homology::tPointBaseInitializer< coordtype > |
This class is used to deallocate memory kept in the static variables of the corresponding class "tPointBase" upon program exit, and also to show the information on how many points were in use. More... | |
class | chomp::homology::tWrapBase< coordtype > |
This class is a simplified version of the point base class used only for the space wrapping support. 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 tPointBase< coordinate > | chomp::homology::PointBase |
The default type of the point base class. | |
Variables | |
const int | chomp::homology::DimBits = (sizeof (int_t) > 4) ? 7 : 6 |
The number of signed bits to store the dimension (i.e., 6: max 31). | |
const int | chomp::homology::NumBits = (sizeof (int_t) << 3) - DimBits |
The number of bits in an integer number that remain to be used for other purposes, because the high 'DimBits' bits are used for the dimension. | |
const int_t | chomp::homology::SignBit = static_cast<int_t> (1) << ((sizeof (int_t) << 3) - 1) |
The sign bit of the int_t number. | |
const int_t | chomp::homology::NumMask = (~(static_cast<int_t> (0) ^ SignBit)) >> (DimBits - 1) |
The mask of the bits remaining after the dimension bits are excluded. | |
const int | chomp::homology::MaxBasDim1 = static_cast<int> (1u << (DimBits - 1)) |
The maximal dimension that can be represented using 'DimBits' bits. | |
const int | chomp::homology::MaxBasDim2 = static_cast<int> ((sizeof (int_t) << 3) - DimBits) |
The maximal dimension which still leaves enough bits in the integer to have one bit for each direction. | |
const int | chomp::homology::MaxBasDim = (MaxBasDim1 < MaxBasDim2) ? MaxBasDim1 : MaxBasDim2 |
The maximal dimension that can be used if the high bits of an integer store the value of the dimension, and the number of remaining bits is at least as large as the dimension. |
This file contains the definition of a point base class which is used for indexing all the points (n-tuples of integer coordinates) which are used in the program.
This technique helps saving a lot of memory if the same points are stored many times, because the integer numbers representing the points are used, and the arrays of their coordinates are stored only once, in this data structure.
Definition in file pointbas.h.