Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sellmair/678ce85356bfff5584b9b8686e434e29 to your computer and use it in GitHub Desktop.
Save sellmair/678ce85356bfff5584b9b8686e434e29 to your computer and use it in GitHub Desktop.
class OverlapFreePatternDetectorConenctor (
private val first: PatternDetector,
private val second: PatternDetector): PatternDetector {
override fun findPatterns(data: List<Weight>): List<Pattern> {
val firstPatterns = first(data)
val secondPatterns = second(data)
val overlaps = overlaps(firstPatterns, secondPatterns)
val firstPatternsAdjusted = firstPatterns
.asSequence()
.map { adjustForOverlaps(it, overlaps) }
.filter(Pattern::isNotEmpty)
.toList()
val secondPatternsAdjusted = secondPatterns
.asSequence()
.map { adjustForOverlaps(it, overlaps) }
.filter(Pattern::isNotEmpty)
.toList()
return firstPatternsAdjusted + secondPatternsAdjusted
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment