DistanceDP.align: def of bend-edit-distance@0.2.2.0 Import: import bend-edit-distance@0.2.2.0/src/DistanceDP.bend as DistanceDP Lines 158-175 of bend-edit-distance@0.2.2.0/src/DistanceDP.bend: https://jend.leeeet.dev/read.txt?path=bend-edit-distance@0.2.2.0/src/DistanceDP.bend&start_line=158&end_line=175 import Base import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E # The independent worker supports configured DISTANCE in every mode, including # Edlib's empty-input early return before threshold filtering. def align(query: String, target: String, config: E.AlignConfig) -> E.AlignResult: match query target config: case SNil{} +t E.AlignConfig{E.NW{}, E.Distance{}, _, _, _}: +length = String.length(t) E.distance_result(length, E.end_coordinate(length), True{}) case SNil{} _ E.AlignConfig{_, E.Distance{}, _, _, _}: E.distance_result(0n, E.BeforeStart{}, True{}) case SCon{_, qt} SNil{} E.AlignConfig{_, E.Distance{}, _, _, _}: E.distance_result(1n+String.length(qt), E.BeforeStart{}, True{}) case +q +t E.AlignConfig{E.NW{}, E.Distance{}, +threshold, pairs, _}: +score = distance_with_equalities(q, t, pairs) E.distance_result(score, E.end_coordinate(String.length(t)), E.within_threshold(threshold, score)) case +q +t E.AlignConfig{mode, E.Distance{}, threshold, pairs, _}: semiglobal_result(semiglobal(q, t, mode, pairs), threshold) case _ _ _: E.AlignResult{E.Error{}, E.NotFound{}, Nil{}, None{}, None{}, None{}} Uses (19): 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=Base/base.bend&name=String.length 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=Task 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/EdlibTypes.bend&name=within_threshold https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/src/DistanceDP.bend&name=distance_with_equalities https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/src/DistanceDP.bend&name=semiglobal https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/src/DistanceDP.bend&name=semiglobal_result