From a4709bc202022991eb70e173f944c00962361758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radek=20Hu=C5=A1ek?= <husek@iuuk.mff.cuni.cz> Date: Tue, 1 Feb 2022 15:03:07 +0100 Subject: [PATCH] drop unused track_origins parameter --- graph_tools/base.py | 45 ++++++++++++--------------------------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/graph_tools/base.py b/graph_tools/base.py index 9693fbe..a827059 100644 --- a/graph_tools/base.py +++ b/graph_tools/base.py @@ -11,45 +11,27 @@ def _init_(): from itertools import combinations, chain, product from functools import reduce - BoundaryValue = namedtuple("BoundaryValue", ['boundary', 'value', 'origins']) - BoundaryValue.with_origins = lambda s, o: BoundaryValue(s.boundary, s.value, o) - - OriginJoinEdge = namedtuple("OriginJoinEdge", ['boundary', 'e1', 'e2', 'info']) - OriginJoinBoundaries = namedtuple("OriginJoinBoundaries", ['boundaries', 'info']) - # hack compatible with Python < 3.7 - BoundaryValue.__new__.__defaults__ = (None, None, None) + BoundaryValue = namedtuple("BoundaryValue", ['boundary', 'value']) class GraphParameterBase: def __hash__(self): return id(self) def __eq__(self, b): return self is b - def eval_join(self, multiplicity_vectors, joins, outs, offsets, track_origins): + def eval_join(self, multiplicity_vectors, joins, outs, offsets): def join_boundaries(x): return self.join_boundaries(x, offsets) - #for info in self.join_boundaries_info(x, offsets): - # ret = self.join_boundaries(x, offsets, info) - # if ret is None: continue - # if track_origins: ret = ret.with_origins(OriginJoinBoundaries(x, info)) - # yield ret - it = chain.from_iterable( join_boundaries(x) for x in product(*multiplicity_vectors) ) def join(gen, e1, e2): for b in gen: yield from self.join_edges(b, e1, e2) - #for info in self.join_edges_info(b, e1, e2): - # ret = self.join_edges(b, e1, e2, info) - # if ret is None: continue - # if track_origins: ret = ret.with_origins([ OriginJoinEdge(b, e1, e2, info) ]) - # yield ret - for e1, e2 in joins: it = join(it, e1, e2) def project_and_canonize(b): - return BoundaryValue(self.project_and_canonize(outs, b.boundary), b.value, b.origins) + return BoundaryValue(self.project_and_canonize(outs, b.boundary), b.value) it = ( project_and_canonize(b) for b in it ) @@ -57,9 +39,7 @@ def _init_(): for b in it: if b.boundary in ret: ret[b.boundary] = BoundaryValue(b.boundary, - self.merge_values(ret[b.boundary].value, b.value), - ret[b.boundary].origins + b.origins if track_origins else None - ) + self.merge_values(ret[b.boundary].value, b.value)) else: ret[b.boundary] = b @@ -129,11 +109,10 @@ def _init_(): _gadget_cache = utils.DynamicLRU() - def eval(self, p, track_origins=False, **kwargs): + def eval(self, p, **kwargs): assert self.is_graph() - ret = self.eval_gadget(p, track_origins=track_origins, **kwargs) - if not track_origins: return p.finalize(ret) - return (p.finalize(ret), self.enumerate(ret)) + ret = self.eval_gadget(p, **kwargs) + return p.finalize(ret) @staticmethod def join(gadgets, joins, outs, *, no_cache=False): @@ -151,12 +130,12 @@ def _init_(): super().__init__(size) self.value = value - def eval_gadget(self, _, track_origins=None, no_cache=False): + def eval_gadget(self, _, no_cache=False): return self.value class BaseGadget(Gadget): - def eval_gadget(self, parameter, track_origins=None, no_cache=False): + def eval_gadget(self, parameter, no_cache=False): try: if self is CUBIC_VERTEX: return parameter.CUBIC_VERTEX @@ -187,13 +166,13 @@ def _init_(): self._info = (tuple(gadgets), joins, outs) - def eval_gadget(self, parameter, track_origins=False, no_cache=False): + def eval_gadget(self, parameter, no_cache=False): gadgets, joins, outs = self._info def do_eval(): ret = parameter.eval_join( - [ g.eval_gadget(parameter, track_origins=track_origins, no_cache=no_cache) for g in gadgets ], - joins, outs, self.offsets, track_origins + [ g.eval_gadget(parameter, no_cache=no_cache) for g in gadgets ], + joins, outs, self.offsets ) return ret -- GitLab