Alignment.empty_result: def of bend-edit-distance@0.2.2.0 Import: import bend-edit-distance@0.2.2.0/src/Alignment.bend as Alignment Lines 98-111 of bend-edit-distance@0.2.2.0/src/Alignment.bend: https://jend.leeeet.dev/read.txt?path=bend-edit-distance@0.2.2.0/src/Alignment.bend&start_line=98&end_line=111 import Base import bend-edit-distance@0.2.2.0/src/Sequence.bend as S import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E # Pinned Edlib returns before applying k or calculating starts/path on empty # inputs, including PATH. Preserve that observable oracle behavior. def empty_result(query: String, target: String, config: E.AlignConfig) -> E.AlignResult: match query target config: case SNil{} +t E.AlignConfig{E.NW{}, _, _, _, _}: +length = S.length(t) E.distance_result(length, E.end_coordinate(length), True{}) case SNil{} _ _: E.distance_result(0n, E.BeforeStart{}, True{}) case SCon{_, qt} SNil{} _: E.distance_result(1n+S.length(qt), E.BeforeStart{}, True{}) # Internal precondition: Myers calls this only when one input is empty. case _ _ _: E.AlignResult{E.Error{}, E.NotFound{}, Nil{}, None{}, None{}, None{}} Uses (14): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=AlignConfig https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=AlignResult https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=Coordinate https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=EditDistance https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=Mode https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=Status https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=distance_result https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=end_coordinate https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/src/Sequence.bend&name=length