MCPcopy Index your code
hub / github.com/google-deepmind/alphageometry / EmptyDependency

Class EmptyDependency

problem.py:590–642  ·  view source on GitHub ↗

Empty dependency predicate ready to get filled up.

Source from the content-addressed store, hash-verified

588
589
590class EmptyDependency:
591 """Empty dependency predicate ready to get filled up."""
592
593 def __init__(self, level: int, rule_name: str):
594 self.level = level
595 self.rule_name = rule_name or ''
596 self.empty = True
597 self.why = []
598 self.trace = None
599
600 def populate(self, name: str, args: list[gm.Point]) -> Dependency:
601 dep = Dependency(name, args, self.rule_name, self.level)
602 dep.trace2 = self.trace
603 dep.why = list(self.why)
604 return dep
605
606 def copy(self) -> EmptyDependency:
607 other = EmptyDependency(self.level, self.rule_name)
608 other.why = list(self.why)
609 return other
610
611 def extend(
612 self,
613 g: Any,
614 name0: str,
615 args0: list[gm.Point],
616 name: str,
617 args: list[gm.Point],
618 ) -> EmptyDependency:
619 """Extend the dependency list by (name, args)."""
620 dep0 = self.populate(name0, args0)
621 deps = EmptyDependency(level=self.level, rule_name=None)
622 dep = Dependency(name, args, None, deps.level)
623 deps.why = [dep0, dep.why_me_or_cache(g, None)]
624 return deps
625
626 def extend_many(
627 self,
628 g: Any,
629 name0: str,
630 args0: list[gm.Point],
631 name_args: list[tuple[str, list[gm.Point]]],
632 ) -> EmptyDependency:
633 """Extend the dependency list by many name_args."""
634 if not name_args:
635 return self
636 dep0 = self.populate(name0, args0)
637 deps = EmptyDependency(level=self.level, rule_name=None)
638 deps.why = [dep0]
639 for name, args in name_args:
640 dep = Dependency(name, args, None, deps.level)
641 deps.why += [dep.why_me_or_cache(g, None)]
642 return deps
643
644
645def maybe_make_equal_pairs(

Callers 15

add_eqrat_constMethod · 0.90
do_algebraMethod · 0.90
derive_ratio_algebraMethod · 0.90
derive_angle_algebraMethod · 0.90
add_collMethod · 0.90
add_paraMethod · 0.90
add_perpMethod · 0.90
add_cyclicMethod · 0.90
make_equal_pairsMethod · 0.90
_add_eqangleMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected