CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <PolyTrie.hh>
Definition at line 173 of file PolyTrie.hh.
Public Types | |
typedef T | value_type |
typedef PTLeaf< T > | leaf_type |
typedef PTIterator< PolyTrie< T > > | iterator |
typedef PTIterator< PolyTrie< T >, true > | const_iterator |
Public Member Functions | |
PolyTrie (Index _depth) | |
PolyTrie (const PolyTrie< T > &orig) | |
~PolyTrie () | |
void | remove () |
Virtual from PTNode<T>, you cannot remove a PolyTrie. More... | |
void | remove (const Array< Index > &ind) |
Remove entry at 'ind'. More... | |
void | swap (PolyTrie< T > &other) |
Efficient swap of this PolyTrie with another. More... | |
void | redefine (Index new_depth) |
Clears all leaves and resets depth. More... | |
void | clear () |
Index | depth () const |
T | get (const Array< Index > &ind) const |
get() provides constant access does not change trie structure More... | |
T & | at (const Array< Index > &ind) |
T & | operator() (const Array< Index > &ind) |
T | operator() (const Array< Index > &ind) const |
void | set (const Array< Index > &ind, const T &_val) |
set() allows assignment that prunes the trie if _val is approximately 0; More... | |
void | list_leaf (PTLeaf< T > *new_leaf) |
bool | prune_zeros (double tol=PTNode< T >::PT_TOL()) |
PTLeaf< T > * | begin_ptr () |
PTLeaf< T > const * | begin_ptr () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
void | print_sparse (std::ostream &out) const |
PolyTrie & | operator*= (const T &scale) |
PolyTrie & | operator+= (const PolyTrie< T > &RHS) |
PolyTrie & | operator-= (const PolyTrie< T > &RHS) |
PolyTrie | operator+ (const PolyTrie< T > &RHS) const |
PolyTrie | operator- (const PolyTrie< T > &RHS) const |
bool | compare (const PolyTrie< T > &RHS, double tol=2 *PTNode< T >::PT_TOL()) const |
bool | operator== (const PolyTrie< T > &RHS) const |
bool | almost_zero (double tol=2 *PTNode< T >::PT_TOL()) const |
template<typename CompareType > | |
void | sort_leaves (const CompareType &compare) |
const T & | val () const |
void | remove (Index ind) |
void | swap (Array< PTNode< T > * > &RHS) |
PTNode< T > * & | at (Index ind) |
const PTNode< T > * & | at (Index ind) const |
bool | operator== (const Array< PTNode< T > * > &RHS) const |
Protected Types | |
typedef Array< PTNode< T > * > | X1 |
typedef Array< X1 > | X2 |
typedef Array< X2 > | X3 |
typedef Array< X3 > | X4 |
typedef Array< X4 > | X5 |
typedef Array< X5 > | X6 |
typedef Array< X6 > | X7 |
typedef Array< X7 > | X8 |
typedef Array< X8 > | X9 |
typedef Index | size_type |
Protected Member Functions | |
PTNode< T > * | valid_node_at (Index i) |
PTNode< T > * | valid_leaf_at (PolyTrie< T > &home_trie, const Array< Index > &ind) |
Index | size () const |
const PTNode< T > * & | operator[] (Index ind) const |
PTNode< T > * & | operator[] (Index ind) |
PTNode< T > * & | back () |
const PTNode< T > * & | back () const |
PTNode< T > * const * | cbegin () const |
PTNode< T > * const * | cend () const |
void | push_back (const PTNode< T > * &toPush) |
void | pop_back () |
void | resize (Index new_N) |
void | resize (Index new_N, const PTNode< T > * &fill_val) |
void | reserve (Index new_max) |
void | sort (const CompareType &comp) |
void | sort (Array< Index > &ind_order) |
void | sort () |
Array & | append (const Array &new_tail) |
Array & | append_unique (const Array &new_tail) |
void | swap_elem (Index i, Index j) |
Array & | permute (const Array< Index > &perm_array) |
Array & | ipermute (const Array< Index > &perm_array) |
bool | next_permute () |
ReturnArray< Index > | as_perm_inverse () const |
ReturnArray< Index > | as_perm_transform_by (const Array< Index > &trans_perm) const |
const PTNode< T > * & | max () const |
const PTNode< T > * & | min () const |
ReturnArray< PTNode< T > * > | sub_array (Index ind_begin, Index ind_end) const |
PTNode< T > * | sum () const |
bool | is_ascending () const |
bool | is_descending () const |
bool | is_constant () const |
bool | is_permute () const |
bool | has_fixed_points () const |
bool | operator!= (const Array< PTNode< T > * > &RHS) const |
bool | operator< (const Array< PTNode< T > * > &RHS) const |
bool | operator> (const Array< PTNode< T > * > &RHS) const |
bool | operator<= (const Array< PTNode< T > * > &RHS) const |
bool | operator>= (const Array< PTNode< T > * > &RHS) const |
bool | all_in (const Array &superset) const |
Index | coincidence (const Array &superset) const |
Index | incidences (const PTNode< T > * &test_elem) const |
Index | find (const PTNode< T > * &test_elem) const |
Index | reverse_find (const PTNode< T > * &test_elem) const |
Same as find, but starts from the last element of the Array. More... | |
Index | almost_find (const PTNode< T > * &test_elem, double tol_val=TOL) const |
Index | almost_reverse_find (const PTNode< T > * &test_elem, double tol_val=TOL) const |
Same as almost_find, but start from the last element of the Array. More... | |
bool | contains (const PTNode< T > * &test_elem) const |
bool | almost_contains (const PTNode< T > * &test_elem, double tol_val=TOL) const |
void | print_column (std::ostream &stream, const std::string &indent="") const |
Static Protected Member Functions | |
static double | PT_TOL () |
static ReturnArray< PTNode< T > * > | sequence (const PTNode< T > * &initial, const PTNode< T > * &final) |
static ReturnArray< PTNode< T > * > | sequence (const PTNode< T > * &initial, const PTNode< T > * &increment, const PTNode< T > * &final) |
Protected Attributes | |
PTNode< T > * | up_node |
T | m_val |
Private Member Functions | |
Index | num_nonzero () const |
Static Private Member Functions | |
static Index | ARRAY_MIN_EXTRA_SPACE () |
static double | ARRAY_EXTENSION_FACTOR () |
Private Attributes | |
Index | m_depth |
PTLeaf< T > * | m_leaf_list |
Index | N |
Index | NMax |
PTNode< T > * * | Vals |
typedef PTIterator<PolyTrie<T>, true> CASM::PolyTrie< T >::const_iterator |
Definition at line 190 of file PolyTrie.hh.
typedef PTIterator<PolyTrie<T> > CASM::PolyTrie< T >::iterator |
Definition at line 189 of file PolyTrie.hh.
typedef PTLeaf<T> CASM::PolyTrie< T >::leaf_type |
Definition at line 187 of file PolyTrie.hh.
|
inherited |
typedef T CASM::PolyTrie< T >::value_type |
Definition at line 185 of file PolyTrie.hh.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
Definition at line 192 of file PolyTrie.hh.
|
inherited |
|
inlineinherited |
|
inherited |
|
inherited |
|
inlinestaticprivateinherited |
|
inlinestaticprivateinherited |
|
inherited |
|
inherited |
Given N distinct objects labeled from 0 to N-1, a permutation 'P_permute' that physically permutes the objects (with labels) in terms of their labels, and a permutation 'L_permute' that permutes their labels only, rewrite 'P_permute' in terms of the relabeling induced by 'L_permute' Rearrange 'this' permutation to form an equivalent permutation for any list that has already been permuted by trans_perm. Does not (nearly certain of this) depend on permutation convention
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 238 of file PolyTrie.hh.
|
inline |
Definition at line 239 of file PolyTrie.hh.
|
inline |
Definition at line 235 of file PolyTrie.hh.
|
inline |
Definition at line 236 of file PolyTrie.hh.
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inline |
Definition at line 213 of file PolyTrie.hh.
|
inline |
Definition at line 241 of file PolyTrie.hh.
|
inline |
Definition at line 242 of file PolyTrie.hh.
|
inherited |
|
inherited |
Checks whether any values are equal to their index – only valid for Array<Index>
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlinestaticprotectedinherited |
Definition at line 43 of file PolyTrie.hh.
|
inherited |
|
inlinevirtual |
Virtual from PTNode<T>, you cannot remove a PolyTrie.
Reimplemented from CASM::PTNode< T >.
Definition at line 200 of file PolyTrie.hh.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
staticinherited |
Returns an array with the sequence (initial, ++initial, ..., final), inclusive requires that operator<() and operator++() are defined on type T
Returns an array with the sequence (initial, ++initial, ..., final), inclusive
|
staticinherited |
Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence requires that operator<() and operator+=() are defined on type T
Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence
|
inlineinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 58 of file PolyTrie.hh.
|
private |
Definition at line 174 of file PolyTrie.hh.
|
private |
Definition at line 175 of file PolyTrie.hh.
|
protectedinherited |
Definition at line 46 of file PolyTrie.hh.
|
privateinherited |
|
privateinherited |
|
protectedinherited |
Definition at line 45 of file PolyTrie.hh.
|
privateinherited |