Classes | Namespaces | Typedefs | Variables

pointbas.h File Reference

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.

Detailed Description

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.

Author:
Pawel Pilarczyk

Definition in file pointbas.h.