def cycle_erased

bendvy-ecs-core@0.1.0.3 · relation_graph.bend:103

import bendvy-ecs-core@0.1.0.3/relation_graph.bend as RelationGraph
import Base
import entity_key.bend as K
import relation_types.bend as T

103def cycle_erased(-S: Data,+graph: T.Graph<S>,descriptor: T.Descriptor<S>,source: K.Key,target: K.Key) -> Bool:
104  match graph descriptor:
105    case T.Graph{edges,inverses} T.Descriptor{k,n,inv,T.Ordinary{}}: False{}
106    case T.Graph{+edges,+inverses} T.Descriptor{+k,+n,+inv,T.Hierarchy{}}: cycle_loop_erased(S,List.length(&2,T.Edge<S>,edges),T.Graph{edges,inverses},T.Descriptor{k,n,inv,T.Hierarchy{}},source,target)

Uses (8)

Used by (2)