CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
A trie structure for representing polynomials.
Classes | |
class | CASM::PolyTrie< T > |
class | CASM::PTNode< T > |
class | CASM::PTLeaf< T > |
class | CASM::PTIterator< PTType, IsConst > |
bool CASM::PolyTrie< T >::almost_zero | ( | double | tol = 2 * PTNode<T>::PT_TOL() | ) | const |
Definition at line 761 of file PolyTrie.hh.
T & CASM::PolyTrie< T >::at | ( | const Array< Index > & | ind | ) |
at() provides non-const access and changes trie if leaf does not exist at ind
Definition at line 545 of file PolyTrie.hh.
void CASM::PolyTrie< T >::clear |
Definition at line 606 of file PolyTrie.hh.
bool CASM::PolyTrie< T >::compare | ( | const PolyTrie< T > & | RHS, |
double | tol = 2 * PTNode<T>::PT_TOL() |
||
) | const |
Definition at line 747 of file PolyTrie.hh.
T CASM::PolyTrie< T >::get | ( | const Array< Index > & | ind | ) | const |
get() provides constant access does not change trie structure
Definition at line 503 of file PolyTrie.hh.
void CASM::PTLeaf< T >::insert_after | ( | PTLeaf< T > * | prev | ) |
Definition at line 401 of file PolyTrie.hh.
void CASM::PTLeaf< T >::insert_at | ( | PTLeaf< T > *& | insertion_ptr | ) |
List insertion methods.
Definition at line 408 of file PolyTrie.hh.
void CASM::PTLeaf< T >::insert_before | ( | PTLeaf< T > * | next | ) |
Definition at line 429 of file PolyTrie.hh.
void CASM::PolyTrie< T >::list_leaf | ( | PTLeaf< T > * | new_leaf | ) |
Definition at line 599 of file PolyTrie.hh.
|
private |
Definition at line 493 of file PolyTrie.hh.
T & CASM::PolyTrie< T >::operator() | ( | const Array< Index > & | ind | ) |
Definition at line 561 of file PolyTrie.hh.
T CASM::PolyTrie< T >::operator() | ( | const Array< Index > & | ind | ) | const |
Definition at line 578 of file PolyTrie.hh.
PolyTrie< T > & CASM::PolyTrie< T >::operator*= | ( | const T & | scale | ) |
Definition at line 693 of file PolyTrie.hh.
PolyTrie< T > CASM::PolyTrie< T >::operator+ | ( | const PolyTrie< T > & | RHS | ) | const |
Definition at line 732 of file PolyTrie.hh.
PolyTrie< T > & CASM::PolyTrie< T >::operator+= | ( | const PolyTrie< T > & | RHS | ) |
Definition at line 708 of file PolyTrie.hh.
PolyTrie< T > CASM::PolyTrie< T >::operator- | ( | const PolyTrie< T > & | RHS | ) | const |
Definition at line 739 of file PolyTrie.hh.
PolyTrie< T > & CASM::PolyTrie< T >::operator-= | ( | const PolyTrie< T > & | RHS | ) |
Definition at line 720 of file PolyTrie.hh.
bool CASM::PolyTrie< T >::operator== | ( | const PolyTrie< T > & | RHS | ) | const |
Definition at line 754 of file PolyTrie.hh.
CASM::PolyTrie< T >::PolyTrie | ( | const PolyTrie< T > & | orig | ) |
Definition at line 474 of file PolyTrie.hh.
void CASM::PolyTrie< T >::print_sparse | ( | std::ostream & | out | ) | const |
Definition at line 682 of file PolyTrie.hh.
bool CASM::PolyTrie< T >::prune_zeros | ( | double | tol = PTNode<T>::PT_TOL() | ) |
removes zero entries, if there are any, and returns true if entries were removed.
Definition at line 667 of file PolyTrie.hh.
CASM::PTIterator< PTType, IsConst >::PTIterator | ( | const PTIterator< PTType, false > & | _it | ) |
Definition at line 316 of file PolyTrie.hh.
void CASM::PolyTrie< T >::redefine | ( | Index | new_depth | ) |
Clears all leaves and resets depth.
Definition at line 616 of file PolyTrie.hh.
|
virtual |
Reimplemented in CASM::PolyTrie< T >, and CASM::PolyTrie< double >.
Definition at line 357 of file PolyTrie.hh.
void CASM::PolyTrie< T >::remove | ( | const Array< Index > & | ind | ) |
Remove entry at 'ind'.
Definition at line 649 of file PolyTrie.hh.
PTLeaf< T > * CASM::PTLeaf< T >::remove_and_next |
Definition at line 463 of file PolyTrie.hh.
void CASM::PolyTrie< T >::set | ( | const Array< Index > & | ind, |
const T & | _val | ||
) |
set() allows assignment that prunes the trie if _val is approximately 0;
Definition at line 524 of file PolyTrie.hh.
void CASM::PolyTrie< T >::sort_leaves | ( | const CompareType & | compare | ) |
Definition at line 774 of file PolyTrie.hh.
void CASM::PolyTrie< T >::swap | ( | PolyTrie< T > & | other | ) |
Efficient swap of this PolyTrie with another.
Definition at line 624 of file PolyTrie.hh.
void CASM::PTLeaf< T >::swap_after_prev | ( | PTLeaf< T > * | other | ) |
Do a swap with 'other' and 'this' so that leaf previous to 'other' now points to 'this' and leaf previous to 'this' now points to 'other'
Definition at line 394 of file PolyTrie.hh.
|
protected |
Definition at line 332 of file PolyTrie.hh.
|
protected |
Definition at line 322 of file PolyTrie.hh.
CASM::PolyTrie< T >::~PolyTrie |
Definition at line 486 of file PolyTrie.hh.
CASM::PTLeaf< T >::~PTLeaf< T > |
Definition at line 429 of file PolyTrie.hh.
|
virtual |
Definition at line 357 of file PolyTrie.hh.