|
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) |