MCPcopy Create free account
hub / github.com/google-deepmind/alphageometry / why_coll

Method why_coll

geometry.py:336–363  ·  view source on GitHub ↗

Why points are connected to self.

(self, points: list[Point], level: int = None)

Source from the content-addressed store, hash-verified

334 return Direction()
335
336 def why_coll(self, points: list[Point], level: int = None) -> list[Any]:
337 """Why points are connected to self."""
338 level = level or float('inf')
339
340 groups = []
341 for p in points:
342 group = [
343 l
344 for l, d in self.edge_graph[p].items()
345 if d is None or d.level < level
346 ]
347 if not group:
348 return None
349 groups.append(group)
350
351 min_deps = None
352 for line in groups[0]:
353 deps, others = line.why_equal_groups(groups[1:], level)
354 if deps is None:
355 continue
356 for p, o in zip(points, [line] + others):
357 deps.append(self.edge_graph[p][o])
358 if min_deps is None or len(deps) < len(min_deps):
359 min_deps = deps
360
361 if min_deps is None:
362 return None
363 return [d for d in min_deps if d is not None]
364
365
366class Segment(Node):

Callers 1

line_of_and_whyFunction · 0.45

Calls 1

why_equal_groupsMethod · 0.80

Tested by

no test coverage detected