![]() |
Cadabra
Computer algebra system for field theory problems
|
#include <Combinatorics.hh>
Public Types | |
| enum | weight_cond { weight_equals , weight_less , weight_greater } |
Public Member Functions | |
| combinations_base () | |
| combinations_base (const std::vector< T > &) | |
| virtual | ~combinations_base () |
| void | permute (long start=-1, long end=-1) |
| virtual void | clear () |
| virtual void | clear_results () |
| unsigned int | sum_of_sublengths () const |
| void | set_unit_sublengths () |
| unsigned int | multiplier (const std::vector< T > &) const |
| unsigned int | total_permutations () const |
Public Attributes | |
| unsigned int | block_length |
| std::vector< unsigned int > | sublengths |
| range_vector_t | input_asym |
| std::vector< T > | original |
| bool | multiple_pick |
| std::vector< weights_t > | weights |
| std::vector< int > | max_weights |
| std::vector< weight_cond > | weight_conditions |
| unsigned int | sub_problem_blocksize |
Protected Member Functions | |
| virtual void | vector_generated (const std::vector< unsigned int > &)=0 |
| virtual bool | entry_accepted (unsigned int current) const |
Protected Attributes | |
| std::vector< unsigned int > | temparr |
| long | start_ |
| long | end_ |
| long | vector_generated_called_ |
| std::vector< int > | current_weight |
Private Member Functions | |
| bool | is_allowed_by_weight_constraints (unsigned int i) |
| bool | final_weight_constraints_check () const |
| void | update_weights (unsigned int i) |
| void | restore_weights (unsigned int i) |
| void | nextstep (unsigned int current, unsigned int fromalgehad, unsigned int groupindex, std::vector< bool > algehad) |
| enum combin::combinations_base::weight_cond |
| combin::combinations_base< T >::combinations_base | ( | ) |
| combin::combinations_base< T >::combinations_base | ( | const std::vector< T > & | oa | ) |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in combin::combinations< T >, combin::combinations< unsigned int >, and combin::combinations< unsignedint >.
|
protectedvirtual |
|
private |
|
private |
| unsigned int combin::combinations_base< T >::multiplier | ( | const std::vector< T > & | stor | ) | const |
|
private |
| void combin::combinations_base< T >::permute | ( | long | start = -1, |
| long | end = -1 |
||
| ) |
|
private |
| void combin::combinations_base< T >::set_unit_sublengths | ( | ) |
| unsigned int combin::combinations_base< T >::sum_of_sublengths | ( | ) | const |
| unsigned int combin::combinations_base< T >::total_permutations | ( | ) | const |
|
private |
|
protectedpure virtual |
| unsigned int combin::combinations_base< T >::block_length |
|
protected |
|
protected |
| range_vector_t combin::combinations_base< T >::input_asym |
| std::vector<int> combin::combinations_base< T >::max_weights |
| bool combin::combinations_base< T >::multiple_pick |
| std::vector<T> combin::combinations_base< T >::original |
|
protected |
| unsigned int combin::combinations_base< T >::sub_problem_blocksize |
| std::vector<unsigned int> combin::combinations_base< T >::sublengths |
|
protected |
|
protected |
| std::vector<weight_cond> combin::combinations_base< T >::weight_conditions |
| std::vector<weights_t> combin::combinations_base< T >::weights |