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 >, and combin::combinations< unsigned int >.
|
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 |