DistanceDP.initial_semiglobal_row: def of bend-edit-distance@0.2.2.0 Import: import bend-edit-distance@0.2.2.0/src/DistanceDP.bend as DistanceDP Lines 88-100 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=88&end_line=100 import Base import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E # Directional DP keeps query rows and target columns in their original order. # D[i,0] = i in every mode. SHW has D[0,j] = j and a free target suffix; # HW has D[0,j] = 0 and both target ends free. Both minimize D[m,j]. def initial_semiglobal_row(length: Nat, +column: U32, +mode: E.Mode) -> List: match length mode: case 0n E.HW{}: [0] case 0n _: [column] case 1n+p E.HW{}: 0 <> initial_semiglobal_row(p, U32.add(column, 1), mode) case 1n+p _: column <> initial_semiglobal_row(p, U32.add(column, 1), mode) Uses (5): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=bend-edit-distance@0.2.2.0/EdlibTypes.bend&name=Mode