def estimate_axes
bend-edit-distance@0.2.2.0 · src/Batch.bend:43
import bend-edit-distance@0.2.2.0/src/Batch.bend as Batch
import Base
import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E
import bend-edit-distance@0.2.2.0/src/Myers.bend as M
43def estimate_axes(+mode: E.Mode, task: E.Task, pairs: List<&2, E.EqualityPair>,
44 sizes: Nat & Nat) -> F32:
45 (+length, columns) = sizes
46 +l = F32.from_nat(length)
47 +c = F32.from_nat(columns)
48 +blocks = F32.from_nat(M.ceil_div(length, 32n))
49 +p = (1.0 + F32.from_nat(List.length(&2, E.EqualityPair, pairs)) : F32)
50 (1.0 + l + c + 256.0 * l * p + blocks * c +
51 extra_work(mode, task, l, c, blocks, p) : F32)