The ChainCon Software (Release 0.03)
|
A chain with coefficients in an arbitrary ring. More...
#include <chain.h>
Public Types | |
typedef CellT | CellType |
The type of cells in the chain. More... | |
typedef CoefT | CoefType |
The type of coefficients in the chain. More... | |
Public Member Functions | |
tChain () | |
The default constructor of an empty chain. More... | |
int_t | size () const |
Returns the number of elements in the chain. More... | |
bool | empty () const |
Returns true if and only if the chain is zero. More... | |
const CellT & | getCell (int_t n) const |
Returns the n-th cell of the chain. More... | |
const CoefT & | getCoef (int_t n) const |
Returns the coefficient at the n-th cell of the chain. More... | |
int_t | position (const CellT &c) const |
Returns the position of the given cell in the chain or -1 if the cell is not there. More... | |
void | add (const CellT &cell, const CoefT &coef) |
Adds a given cell to the chain with the given coefficient. More... | |
tChain< CellT, CoefT > & | operator+= (const tChain< CellT, CoefT > &ch) |
Adds a given chain to the chain. More... | |
tChain< CellT, CoefT > & | negate () |
Negates all the coefficients in the chain. More... | |
tChain< CellT, CoefT > & | operator*= (const CoefT &coef) |
Multiples the chain by a given coefficient. More... | |
bool | operator== (const tChain< CellT, CoefT > &ch) const |
Compares if the two chains are equal. More... | |
void | swap (tChain< CellT, CoefT > &ch) |
Swaps the data with another chain. More... | |
Private Attributes | |
chomp::homology::hashedset< CellT > | cells |
The set of elements in the chain. More... | |
extarray< CoefT > | coefs |
The coefficients that appear at the cells in the chain. More... | |
A chain with coefficients in an arbitrary ring.
|
inline |
Adds a given cell to the chain with the given coefficient.
Definition at line 145 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::add(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=().
|
inline |
Returns true if and only if the chain is zero.
Definition at line 121 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::empty(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=().
|
inline |
Returns the n-th cell of the chain.
Definition at line 127 of file chain.h.
Referenced by operator*(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=(), and operator<<().
|
inline |
Returns the coefficient at the n-th cell of the chain.
Definition at line 133 of file chain.h.
Referenced by operator*(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=(), and operator<<().
|
inline |
Negates all the coefficients in the chain.
Definition at line 190 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::negate().
|
inline |
Returns the position of the given cell in the chain or -1 if the cell is not there.
Definition at line 139 of file chain.h.
Referenced by operator*().
|
inline |
Returns the number of elements in the chain.
Definition at line 115 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::add(), tChain< tPair< Cell1T, Cell2T >, CoefT >::negate(), operator*(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator*=(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=(), operator<<(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator==(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::size().
|
inline |
Swaps the data with another chain.
Definition at line 237 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::add(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator*=(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator+=(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::swap().
|
private |
The set of elements in the chain.
Definition at line 98 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::add(), tChain< tPair< Cell1T, Cell2T >, CoefT >::empty(), tChain< tPair< Cell1T, Cell2T >, CoefT >::getCell(), tChain< tPair< Cell1T, Cell2T >, CoefT >::negate(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator*=(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator==(), tChain< tPair< Cell1T, Cell2T >, CoefT >::position(), tChain< tPair< Cell1T, Cell2T >, CoefT >::size(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::swap().
The coefficients that appear at the cells in the chain.
Definition at line 101 of file chain.h.
Referenced by tChain< tPair< Cell1T, Cell2T >, CoefT >::add(), tChain< tPair< Cell1T, Cell2T >, CoefT >::getCoef(), tChain< tPair< Cell1T, Cell2T >, CoefT >::negate(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator*=(), tChain< tPair< Cell1T, Cell2T >, CoefT >::operator==(), and tChain< tPair< Cell1T, Cell2T >, CoefT >::swap().