|
Public Types |
| enum | result_t { l_no_action,
l_applied,
l_error
} |
| enum | global_success_t {
g_not_yet_started = 0,
g_arguments_accepted = 1,
g_operand_determined = 2,
g_applied = 4,
g_apply_failed = 6
} |
Public Member Functions |
| | algorithm (exptree &, iterator) |
| virtual | ~algorithm () |
| virtual bool | can_apply (iterator) |
| virtual bool | can_apply (sibling_iterator, sibling_iterator) |
| virtual result_t | apply (iterator &) |
| virtual result_t | apply (sibling_iterator &, sibling_iterator &) |
| bool | apply_recursive (iterator &, bool check_consistency=true, int act_at_level=-1, bool called_by_manipulator=false, bool until_nochange=false) |
| void | apply (unsigned int last_used_equation_number, bool multiple, bool until_nochange, bool make_copy, int act_at_level=-1, bool called_by_manipulator=false) |
| bool | check_consistency (iterator) const |
| bool | check_index_consistency (iterator) const |
| void | report_progress (const std::string &, int todo, int done, int count=2) |
Public Attributes |
| bool | expression_modified |
| iterator | subtree |
| unsigned int | equation_number |
| global_success_t | global_success |
| unsigned int | number_of_calls |
| unsigned int | number_of_modifications |
| bool | suppress_normal_output |
| bool | discard_command_node |
| exptree_output::output_format_t | output_format |
| stopwatch | report_progress_stopwatch |
Static Public Attributes |
| static stopwatch | index_sw |
| static stopwatch | get_dummy_sw |
Protected Types |
typedef std::pair< sibling_iterator,
sibling_iterator > | range_t |
| | Finding objects in sets.
|
| typedef std::vector< range_t > | range_vector_t |
typedef std::multimap< exptree,
exptree::iterator, tree_exact_less_no_wildcards_mod_prel_obj > | index_map_t |
| | A map from a pattern to the position where it occurs in the tree.
|
typedef std::map< exptree::iterator,
int, exptree::iterator_base_less > | index_position_map_t |
| | A map from the position of each index to the sequential index.
|
Protected Member Functions |
| int | index_parity (iterator) const |
| bool | contains (sibling_iterator from, sibling_iterator to, sibling_iterator arg) |
| void | find_argument_lists (range_vector_t &, bool only_comma_lists=true) const |
| template<class Iter> |
| range_vector_t::iterator | find_arg_superset (range_vector_t &, Iter st, Iter nd) |
| range_vector_t::iterator | find_arg_superset (range_vector_t &, sibling_iterator it) |
| bool | is_single_term (iterator) |
| bool | prod_wrap_single_term (iterator &) |
| bool | prod_unwrap_single_term (iterator &) |
| void | pushup_multiplier (iterator) |
| void | node_zero (iterator) |
| void | node_one (iterator) |
| void | node_integer (iterator, int) |
| void | fill_index_position_map (iterator, const index_map_t &, index_position_map_t &) const |
| void | fill_map (index_map_t &, sibling_iterator, sibling_iterator) const |
| bool | rename_replacement_dummies (iterator, bool still_inside_algo=false) |
| void | print_classify_indices (iterator) const |
| void | determine_intersection (index_map_t &one, index_map_t &two, index_map_t &target, bool move_out=false) const |
| void | classify_add_index (iterator it, index_map_t &ind_free, index_map_t &ind_dummy) const |
| void | classify_indices_up (iterator, index_map_t &ind_free, index_map_t &ind_dummy) const |
| void | classify_indices (iterator, index_map_t &ind_free, index_map_t &ind_dummy) const |
| int | max_numbered_name_one (const std::string &nm, const index_map_t *one) const |
| int | max_numbered_name (const std::string &, const index_map_t *m1, const index_map_t *m2=0, const index_map_t *m3=0, const index_map_t *m4=0, const index_map_t *m5=0) const |
| exptree | get_dummy (const list_property *, const index_map_t *m1, const index_map_t *m2=0, const index_map_t *m3=0, const index_map_t *m4=0, const index_map_t *m5=0) const |
| exptree | get_dummy (const list_property *, iterator) const |
| exptree | get_dummy (const list_property *, iterator, iterator) const |
Static Protected Member Functions |
| static bool | less_without_numbers (nset_t::iterator, nset_t::iterator) |
| static bool | equal_without_numbers (nset_t::iterator, nset_t::iterator) |
Protected Attributes |
| unsigned int | last_used_equation_number |
std::vector< std::pair< sibling_iterator,
sibling_iterator > > | marks |
| iterator | previous_expression |
| bool | dont_iterate |
Private Member Functions |
| void | cancel_modification () |
| void | copy_expression (exptree::iterator) const |
| bool | prepare_for_modification (bool make_copy) |
| void | propagate_zeroes (post_order_iterator &, const iterator &) |
| void | dumpmap (std::ostream &, const index_map_t &) const |
| bool | cleanup_anomalous_products (exptree &tr, exptree::iterator &it) |
Classes |
| class | constructor_error |