def __init__(self, edges=None): edges = edges or () assert is_iterable(edges), "Edges not iterable: {}".format(edges) if not all([isinstance(e, Edge) for e in edges]): edges = {Edge(e) for e in edges} elif not isinstance(edges, set): edges = set(edges) # assert all([isinstance(f, Hyperedge) for f in hyperedges]) super(EdgeSet, self).__init__(edges)
def __init__(self, hyperedges=None): hyperedges = hyperedges or () assert is_iterable(hyperedges), "Hyperedges not iterable: {}".format( hyperedges) if not all([isinstance(f, Hyperedge) for f in hyperedges]): hyperedges = {Hyperedge(f) for f in hyperedges} elif not isinstance(hyperedges, set): hyperedges = set(hyperedges) # assert all([isinstance(f, Hyperedge) for f in hyperedges]) super(HyperedgeSet, self).__init__(hyperedges)
def __init__(self, scales=None, anisotropic=True): assert is_iterable(scales) and len(scales) == 2 assert scales[0] <= scales[1] self.scales = scales
def __new__(cls, elements=()): assert is_iterable(elements), "A non-iterable cannot form an edge: {}".format(elements) assert len(elements) <= 2, "Edge cannot have more than 2 elements." assert len(elements) > 0, "Edge cannot be empty." return super(Edge, cls).__new__(Edge, VertexSet(elements))