|
Public Types |
typedef dag< expression_node
>::walker | walker |
typedef dag< expression_node
>::const_walker | const_walker |
typedef std::vector< walker
>::iterator | ref_iterator |
typedef std::vector< walker
>::const_iterator | const_ref_iterator |
Public Methods |
| | model (model_gid *__id=NULL, bool clone=false) |
| | model (model_gid *__id, const erased_part &_ep, bool clone=false) |
| | model (int __num_of_vars) |
| | model (const model &__m) |
| | model (model_gid *__id, const model &__m) |
| | model (const char *name, bool do_simplify=true) |
| | ~model () |
| int | next_num () |
| int | next_variable_num () |
| int | next_constraint_num () |
| unsigned int | number_of_variables () const |
| unsigned int | number_of_nodes () const |
| unsigned int | number_of_constraints () const |
| unsigned int | number_of_managed_nodes () const |
| unsigned int | number_of_managed_variables () const |
| unsigned int | number_of_managed_constraints () const |
| const walker & | var (unsigned int i) const |
| const walker & | node (unsigned int i) const |
| const walker & | constraint (unsigned int i) const |
| model_gid * | gid_data () const |
| void | detach_gid () |
| void | compress_numbers () |
| void | renumber_variables () |
| void | renumber_constraints () |
| bool | basic_simplify () |
| void | arrange_constraints () |
| void | detect_0chain () |
| bool | simplify_thin () |
| void | set_counters () |
| void | clr_sky_ground_link () |
| void | write (std::ostream &__o=std::cout) const |
| ref_iterator | ghost_begin () |
| const_ref_iterator | ghost_begin () const |
| ref_iterator | ghost_end () |
| const_ref_iterator | ghost_end () const |
| walker | store_node (const walker &_w) |
| walker | store_variable (const walker &_w) |
| walker | store_ghost (const walker &_w) |
| walker | store_constraint (const walker &_w) |
| void | free_node_num (unsigned int _nnum) |
| void | remove_node (const walker &_w, unsigned int _nnum) |
| void | remove_node (const walker &_w) |
| void | remove_node (unsigned int __node_num) |
| void | new_variables (int _new_num_of_vars) |
| walker | ghost (unsigned int _nnum) |
| walker | constant (double _constant) |
| walker | constant (const std::vector< double > &_constant) |
| walker | variable (unsigned int _vnum) |
| walker | binary (const walker &_op1, const walker &_op2, int expr_type, double _coeff1=1.0, double _coeff2=1.0) |
| walker | binary (const walker &_op1, const walker &_op2, int expr_type, additional_info_u _params, double _coeff1=1.0, double _coeff2=1.0) |
| walker | unary (const walker &_op1, int expr_type, double _coeff=1.0) |
| walker | unary (const walker &_op1, int expr_type, additional_info_u _params, double _coeff=1.0) |
| walker | nary (const std::vector< walker > &_op, int expr_type, const std::vector< double > &_coeffs=std::vector< double >()) |
| walker | nary (const std::vector< walker > &_op, int expr_type, additional_info_u _params, const std::vector< double > &_coeffs=std::vector< double >()) |
| walker | vnary (int expr_type,...) |
| bool | is_empty (const walker &_w) const |
| walker | empty_reference () const |
| const std::string | var_name (unsigned int n) const |
| const std::string | const_name (unsigned int n) const |
| const std::string | obj_name () const |
| double | obj_adj () const |
| double | obj_mult () const |
| size_t | n_fixed_vars () const |
std::pair< const std::string,
double > | fixed_var (unsigned int n) const |
| size_t | n_unused_vars () const |
| const std::string & | unused_var (unsigned int n) const |
| size_t | n_unused_constrs () const |
| const std::string & | unused_constr (unsigned int n) const |
| bool | get_const_num (unsigned int node_num, unsigned int &const_num) const |
| bool | get_linear_coeffs (const walker &expr, sparse_vector< double > &coeffs, double &constant, const std::vector< interval > &_ranges) |
| bool | get_linear_coeffs (const walker &expr, sparse_vector< double > &coeffs, double &constant) |
| bool | check_acyclicity (const walker &__parent, const walker &__child) |
| void | clear () |
| walker | between (const walker &__parent, const children_iterator &__cit, const walker &__child, const parents_iterator &__pit, const expression_node &__x) |
| walker | between (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const expression_node &__x) |
| walker | between (const walker &__parent, const children_iterator &__cit, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | between (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pit, const expression_node &__x) |
| walker | between (const walker &__parent, const children_iterator &__cit, const walker &__child, const parents_iterator &__pit, const _Tp &__x) |
| walker | between (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const _Tp &__x) |
| walker | between (const walker &__parent, const children_iterator &__cit, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | between (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pit, const _Tp &__x) |
| walker | split (const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it, const expression_node &__x) |
| void | split (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const expression_node &__x) |
| walker | split (const walker &__parent, const children_iterator &__ch_it, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | split (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pr_it, const expression_node &__x) |
| walker | split (const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it, const _Tp &__x) |
| void | split (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const _Tp &__x) |
| walker | split (const walker &__parent, const children_iterator &__ch_it, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | split (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pr_it, const _Tp &__x) |
| walker | between_back (const walker &__parent, const walker &__child, const expression_node &__x) |
| walker | between_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | between_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const expression_node &__x) |
| walker | between_back (const walker &__parent, const walker &__child, const _Tp &__x) |
| walker | between_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | between_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
| walker | split_back (const walker &__parent, const walker &__child, const expression_node &__x) |
| walker | split_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | split_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const expression_node &__x) |
| walker | split_back (const walker &__parent, const walker &__child, const _Tp &__x) |
| walker | split_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | split_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
| walker | between_front (const walker &__parent, const walker &__child, const expression_node &__x) |
| walker | between_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | between_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const expression_node &__x) |
| walker | between_front (const walker &__parent, const walker &__child, const _Tp &__x) |
| walker | between_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | between_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
| walker | split_front (const walker &__parent, const walker &__child, const expression_node &__x) |
| walker | split_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const expression_node &__x) |
| walker | split_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const expression_node &__x) |
| walker | split_front (const walker &__parent, const walker &__child, const _Tp &__x) |
| walker | split_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
| walker | split_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
| void | insert_subgraph (_Self &__subgraph, const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it) |
| void | insert_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| void | insert_subgraph (_Self &__subgraph, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
| void | insert_back_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child) |
| void | insert_front_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child) |
| void | add_edge (const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it) |
| void | add_edge (const edge &__edge, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| void | add_edge (const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| void | add_edge_back (const walker &__parent, const walker &__child) |
| void | add_edge_front (const walker &__parent, const walker &__child) |
| allocator_type | get_allocator () const |
| walker | ground () |
| const_walker | ground () const |
| walker | sky () |
| const_walker | sky () const |
| children_iterator | root_begin () |
| children_iterator | root_end () |
| parents_iterator | leaf_begin () |
| parents_iterator | leaf_end () |
| bool | empty () const |
| size_type | size () const |
| size_type | max_size () const |
| void | swap (_Self &__x) |
| walker | insert_node_in_graph (_Node *__n, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| walker | insert_node_in_graph (_Node *__node, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
| walker | insert_node_in_graph (_Node *__node, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
| walker | insert_node_in_graph (_Node *__node, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
| walker | insert_in_graph (const expression_node &__x, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| walker | insert_in_graph (const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| walker | insert_in_graph (const expression_node &__x, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
| walker | insert_in_graph (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
| walker | insert_in_graph (const expression_node &__x, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
| walker | insert_in_graph (const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
| walker | insert_in_graph (const expression_node &__x, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
| walker | insert_in_graph (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
| walker | insert_in_graph (const _Tp &__x, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
| walker | insert_in_graph (const _Tp &__x, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
| walker | insert_in_graph (const _Tp &__x, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
| walker | insert_in_graph (const _Tp &__x, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
| void | replace_edge_to_child (const walker &__parent, const walker &__child_old, const walker &__child_new) |
| void | replace_edge_to_parent (const walker &__parent_old, const walker &__parent_new, const walker &__child) |
| void | remove_edge (const edge &__edge) |
| void | remove_edge (const walker &__parent, const walker &__child) |
| void | remove_edge_and_deattach (const walker &__parent, const walker &__child) |
| void | sort_child_edges (walker __position, children_iterator first, children_iterator last, Compare comp) |
| void | sort_child_edges (walker __position, Compare comp) |
| void | sort_parent_edges (walker __position, parents_iterator first, parents_iterator last, Compare comp) |
| void | sort_parent_edges (walker __position, Compare comp) |
| walker | insert_node (_Node *_node, const walker &__position, const container_insert_arg &__It) |
| walker | insert_node (const expression_node &__x, const walker &__position, const container_insert_arg &__It) |
| walker | insert_node (const walker &__position, const container_insert_arg &__It) |
| walker | insert_node (const _Tp &__x, const walker &__position, const container_insert_arg &__It) |
| walker | insert_node_before (_Node *_node, const walker &__position, const container_insert_arg &__It) |
| void | insert_node_before (const expression_node &__x, const walker &__position, const container_insert_arg &__It) |
| void | insert_node_before (const walker &__position, const container_insert_arg &__It) |
| void | insert_node_before (const _Tp &__x, const walker &__position, const container_insert_arg &__It) |
| void | merge (const walker &__position, const walker &__second, bool merge_parent_edges=true, bool merge_child_edges=true) |
| void | erase (const walker &__position) |
| void | clear_erased_part (erased_part &_ep) |
| erased_part | erase_maximal_subgraph (const walker &__position) |
| erased_part | erase_maximal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
| erased_part | erase_minimal_subgraph (const walker &__position) |
| erased_part | erase_minimal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
| erased_part | erase_maximal_pregraph (const walker &__position) |
| erased_part | erase_maximal_pregraph (const __SequenceCtr< walker, _Allocator > &__positions) |
| erased_part | erase_minimal_pregraph (const walker &__position) |
| erased_part | erase_minimal_pregraph (const __SequenceCtr< walker, _Allocator > &__positions) |
| bool | erase_child (const walker &__position, const children_iterator &__It) |
| bool | erase_parent (const walker &__position, const parents_iterator &__It) |
| void | clear_children () |
| void | clear_parents () |
| void | add_all_children (_Output_Iterator fi, _DG_node< expression_node, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_parent) |
| void | add_all_children (_Output_Iterator fi, _DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_parent) |
| void | add_all_children (_Output_Iterator fi, _DG_node< _Tp, _Ctr, _Iterator > *_parent) |
| void | add_all_parents (_Output_Iterator fi, _DG_node< expression_node, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_child) |
| void | add_all_parents (_Output_Iterator fi, _DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_child) |
| void | add_all_parents (_Output_Iterator fi, _DG_node< _Tp, _Ctr, _Iterator > *_child) |
| _Node * | _C_create_node (const expression_node &__x) |
| _Node * | _C_create_node () |
| _Node * | _C_create_node (const _Tp &__x) |
| void | clear_graph (_DG_node< expression_node, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_node) |
| void | clear_graph (_DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_node) |
| void | clear_graph (_DG_node< _Tp, _Ctr, _Iterator > *_node) |
_DG_node< expression_node,
_SequenceCtr< void *, _PtrAlloc >,
_SequenceCtr< void *, _PtrAlloc
>::iterator > * | _C_get_node () |
| void | _C_put_node (_DG_node< expression_node, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *__p) |
| void | _C_put_node (_DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *__p) |
| void | _C_put_node (_DG_node< _Tp, _Ctr, _Iterator > *__p) |
Public Attributes |
| matrix< double > | lin |
| std::vector< matrix< double > > | matd |
| std::vector< matrix< interval > > | mati |
| int | ocoeff |
| walker | objective |
| std::vector< walker > | constraints |
| _Base::children_iterator | children_iterator |
| _Base::parents_iterator | parents_iterator |
| _Base::erased_part | erased_part |
| _SequenceCtr< void *, _PtrAlloc > | container_type |
| expression_node | value_type |
_DG_iterator< expression_node,
expression_node &, expression_node *,
container_type, children_iterator > | iterator |
_DG_iterator< expression_node,
const expression_node &,
const expression_node *,
container_type, children_iterator > | const_iterator |
| std::reverse_iterator< const_iterator > | const_reverse_iterator |
| std::reverse_iterator< iterator > | reverse_iterator |
| std::pair< walker, walker > | edge |
| std::pair< edge, bool > | enhanced_edge |
| _Base::allocator_type | allocator_type |
_DG_node< expression_node,
_SequenceCtr< void *, _PtrAlloc >,
_SequenceCtr< void *, _PtrAlloc
>::iterator > * | _C_ground |
_DG_node< expression_node,
_SequenceCtr< void *, _PtrAlloc >,
_SequenceCtr< void *, _PtrAlloc
>::iterator > * | _C_sky |
| int | _C_mark |
| _Node | node_type |
| value_type * | pointer |
| const value_type * | const_pointer |
| value_type & | reference |
| const value_type & | const_reference |
| size_t | size_type |
| ptrdiff_t | difference_type |
Friends |
| class | dag_delta |
| class | dag_undelta |
| bool | operator==__VGTL_NULL_TMPL_ARGS (const __DG &__x, const __DG &__y) |