public int[] GetFullElementsIndexesWithMaxAlfaMaxSize(int element_index, int max_full_size, EdgeValueType max_alpha) { IMaxTreeNode <EdgeValueType> node = min_tree.GetNode(element_index); EdgeValueType min_alpha = this.algebra.Subtract(this.max_edge_value, max_alpha); while ((node.Parent != null) && (this.algebra.Compare(min_alpha, node.Parent.Value) == -1) && (max_full_size > node.Parent.CulmativeFullSize)) { node = node.Parent; } return(node.GetElementIndexArrayCulmativeFull()); }
public int[] GetFullElementsIndexesOfElementLevelAndAbove( int element_index, ElementType level) { IMaxTreeNode <ElementType> node = this.d_elements_to_nodes[element_index]; while ((node.Parent != null) && (this.element_value_comparer.Compare(level, node.Parent.Value) == -1)) { node = node.Parent; } return(node.GetElementIndexArrayCulmativeFull()); }