Files
Eric Coissac e511650f5b Refactor similarity engine and implement parallel clustering
Introduces parallel processing for clustering, refines scoring mechanisms, and expands test coverage for the alignment functionality.

This change introduces parallel processing capabilities within the clustering logic, updates the core similarity engine with new data structures and scoring methods, and implements a comprehensive test suite for the alignment tool. It also adds new command-line options for configuring alignment parameters and reference lengths.
2026-11-03 14:04:32 +11:00

15 lines
402 B
Go

//go:build !goexperiment.simd
package obisimilarity
// commonWords is the upper bound used for the number of 4-mers shared by two
// sequences: the sum of the minima of the counters, plus the minimum of the
// two overflows.
func commonWords(t1, t2 *Table4) int {
total := 0
for i := range t1.Count {
total += int(min(t1.Count[i], t2.Count[i]))
}
return total + min(t1.Overflow, t2.Overflow)
}