def initial_semiglobal_row
bend-edit-distance@0.2.2.0 · src/DistanceDP.bend:88
import bend-edit-distance@0.2.2.0/src/DistanceDP.bend as DistanceDP
import Base
import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E
88
89
90
91def initial_semiglobal_row(length: Nat, +column: U32, +mode: E.Mode) -> List<U32>:
92 match length mode:
93 case 0n E.HW{}:
94 [0]
95 case 0n _:
96 [column]
97 case 1n+p E.HW{}:
98 0 <> initial_semiglobal_row(p, U32.add(column, 1), mode)
99 case 1n+p _:
100 column <> initial_semiglobal_row(p, U32.add(column, 1), mode)