From: martinahansen Date: Tue, 27 Nov 2012 18:06:20 +0000 (+0000) Subject: backtrack.rb polish X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=953411cf3f941d2ada82ed001de668372aa753fa;p=biopieces.git backtrack.rb polish git-svn-id: http://biopieces.googlecode.com/svn/trunk@2005 74ccb610-7750-0410-82ae-013aeee3265d --- diff --git a/code_ruby/lib/maasha/seq/backtrack.rb b/code_ruby/lib/maasha/seq/backtrack.rb index 94d4d69..d97fe87 100644 --- a/code_ruby/lib/maasha/seq/backtrack.rb +++ b/code_ruby/lib/maasha/seq/backtrack.rb @@ -41,9 +41,9 @@ module BackTrack MAX_DEL = 5 # Maximum number of deletions allowed # ------------------------------------------------------------------------------ - # str.scan(pattern[, max_mismatches [, max_insertions [,max_deletions]]]) + # str.scan(pattern[, max_mismatches[, max_insertions[, max_deletions]]]) # -> Array - # str.scan(pattern[, max_mismatches [, max_insertions [,max_deletions]]]) { |match| + # str.scan(pattern[, max_mismatches[, max_insertions[, max_deletions]]]) { |match| # block # } # -> Match @@ -127,9 +127,9 @@ module BackTrack return (unsigned int) (s - ss); else { - if (mm && *s && *p && (r = backtrack(ss, s + 1, p + 1, mm - 1, ins, del))) return r; - if (ins && *p && (r = backtrack(ss, s, p + 1, mm, ins - 1, del))) return r; - if (del && *s && (r = backtrack(ss, s + 1, p, mm, ins, del - 1))) return r; + if (mm && *s && *p && (r = backtrack(ss, s + 1, p + 1, mm - 1, ins, del))) return r; + if (ins && *p && (r = backtrack(ss, s, p + 1, mm, ins - 1, del))) return r; + if (del && *s && (r = backtrack(ss, s + 1, p, mm, ins, del - 1))) return r; } return 0;