The Original CHomP Software
Files | Namespaces | Macros | Functions
Struct

Files

file  autoarray.h
 An auto_array template that mimics selected behaviors of the std::auto_ptr template, but releases the memory with delete[], and thus should be applied to arrays.
 
file  bitcount.h
 This file defines a very simple function for counting the number of bits in a byte or a multi-byte integer.
 
file  bitfield.h
 This file contains the definition of a bitfield class which works an array of bits.
 
file  bitsets.h
 This file defines a class that uses bit representation of a set to store many small sets.
 
file  digraph.h
 This header file contains the definition of a weighted directed graph class and several algorithms on this graph, including some minimal path algorithms with rounding control to compute rigorous results.
 
file  fibheap.h
 This file contains the definition of a Fibonacci heap optimized for good memory usage.
 
file  flatmatr.h
 This file contains the definition of a simple matrix class which is stored in a single vector, but its elements can be accessed in the double indexing style, e.g., M[0][2].
 
file  hashsets.h
 This file contains the definition of the container "hashedset" which can be used to represent a set of elements of arbitrary type.
 
file  integer.h
 This file defines a class "integer" which represents the ring of integers or the field of integers modulo a prime number "p" as an Euclidean domain, with some extra features which are required by the homology software.
 
file  inthash.h
 This file contains the definition of two hashing methods for integers.
 
file  localvar.h
 This file contains the definition of a template of a class whose object can define a local value of a given variable, and restores the original value upon destruction.
 
file  multitab.h
 This file contains the definition of the container "multitable" which is essentially an automatically extendable array whose memory is allocated in small chunks which hold the elements.
 
file  pool.h
 This file contains the definition of a pool container which keeps elements and manages their reusage.
 
file  setunion.h
 This file contains the definition of the container "setunion".
 
file  words.h
 This file contains a definition of the class "word" which is used to store a string and has some additional properties.
 

Namespaces

namespace  chomp
 This namespace contains the entire CHomP library interface.
 

Macros

#define DEFHASHKEYS(type)
 This macro is used to define a hash key for any type that can be cast onto an unsigned inteter type, in particular, in the library it is used to define the hash key functions for int, long, and char, both signed and unsigned. More...
 

Functions

int_t hashkey1 (const unsigned long &number)
 The first hash key for an unsigned int number. More...
 
int_t hashkey2 (const unsigned long &number)
 The second hash key for an unsigned int number. More...
 
int_t hashkey1 (const unsigned int &number)
 
int_t hashkey2 (const unsigned int &number)
 
int_t hashkey1 (const signed int &number)
 
int_t hashkey2 (const signed int &number)
 
int_t hashkey1 (const signed long &number)
 
int_t hashkey2 (const signed long &number)
 
int_t hashkey1 (const unsigned short &number)
 
int_t hashkey2 (const unsigned short &number)
 
int_t hashkey1 (const signed short &number)
 
int_t hashkey2 (const signed short &number)
 
int_t hashkey1 (const unsigned char &number)
 
int_t hashkey2 (const unsigned char &number)
 
int_t hashkey1 (const signed char &number)
 
int_t hashkey2 (const signed char &number)
 

Detailed Description

Macro Definition Documentation

◆ DEFHASHKEYS

#define DEFHASHKEYS (   type)
Value:
inline int_t hashkey1 (const type &number) \
{ return hashkey1 (static_cast<unsigned long> (number)); } \
inline int_t hashkey2 (const type &number) \
{ return hashkey2 (static_cast<unsigned long> (number)); }
int_t hashkey2(const unsigned long &number)
The second hash key for an unsigned int number.
Definition: inthash.h:52
int_t hashkey1(const unsigned long &number)
The first hash key for an unsigned int number.
Definition: inthash.h:46
int int_t
Index type for indexing arrays, counting cubes, etc.
Definition: config.h:115

This macro is used to define a hash key for any type that can be cast onto an unsigned inteter type, in particular, in the library it is used to define the hash key functions for int, long, and char, both signed and unsigned.

Definition at line 61 of file inthash.h.

Function Documentation

◆ hashkey1() [1/8]

int_t hashkey1 ( const signed char &  number)
inline

Definition at line 74 of file inthash.h.

◆ hashkey1() [2/8]

int_t hashkey1 ( const signed int &  number)
inline

Definition at line 68 of file inthash.h.

◆ hashkey1() [3/8]

int_t hashkey1 ( const signed long &  number)
inline

Definition at line 70 of file inthash.h.

◆ hashkey1() [4/8]

int_t hashkey1 ( const signed short &  number)
inline

Definition at line 72 of file inthash.h.

◆ hashkey1() [5/8]

int_t hashkey1 ( const unsigned char &  number)
inline

Definition at line 73 of file inthash.h.

◆ hashkey1() [6/8]

int_t hashkey1 ( const unsigned int &  number)
inline

Definition at line 67 of file inthash.h.

◆ hashkey1() [7/8]

int_t hashkey1 ( const unsigned long &  number)
inline

The first hash key for an unsigned int number.

Definition at line 46 of file inthash.h.

47{
48 return static_cast<int_t> (number);
49} /* hashkey1 */

◆ hashkey1() [8/8]

int_t hashkey1 ( const unsigned short &  number)
inline

Definition at line 71 of file inthash.h.

◆ hashkey2() [1/8]

int_t hashkey2 ( const signed char &  number)
inline

Definition at line 74 of file inthash.h.

◆ hashkey2() [2/8]

int_t hashkey2 ( const signed int &  number)
inline

Definition at line 68 of file inthash.h.

◆ hashkey2() [3/8]

int_t hashkey2 ( const signed long &  number)
inline

Definition at line 70 of file inthash.h.

◆ hashkey2() [4/8]

int_t hashkey2 ( const signed short &  number)
inline

Definition at line 72 of file inthash.h.

◆ hashkey2() [5/8]

int_t hashkey2 ( const unsigned char &  number)
inline

Definition at line 73 of file inthash.h.

◆ hashkey2() [6/8]

int_t hashkey2 ( const unsigned int &  number)
inline

Definition at line 67 of file inthash.h.

◆ hashkey2() [7/8]

int_t hashkey2 ( const unsigned long &  number)
inline

The second hash key for an unsigned int number.

Definition at line 52 of file inthash.h.

53{
54 return static_cast<int_t> (number ^ 0xFA5A75A7ul) << 8;
55} /* hashkey2 */

◆ hashkey2() [8/8]

int_t hashkey2 ( const unsigned short &  number)
inline

Definition at line 71 of file inthash.h.