From 0a847a52dd4dce4d83538b0d0f73656ca75c5ce9 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sun, 29 Jul 2007 01:00:51 +0200 Subject: [PATCH] Minor optimization in bidirectional complete --- mark2.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mark2.rb b/mark2.rb index 9cc20d0..3738ec5 100644 --- a/mark2.rb +++ b/mark2.rb @@ -241,12 +241,16 @@ class MarkovChainer prev = raw_prev(syms) nxt = raw_next(syms) while nxt or prev do - syms.unshift(prev) - syms.push(nxt) # Keep adding only on the side where we # didn't come across a nil already - prev = raw_prev(syms) if prev - nxt = raw_next(syms) if nxt + if prev + syms.unshift(prev) + prev = raw_prev(syms) + end + if nxt + syms.push(nxt) + nxt = raw_next(syms) + end end return syms.to_s end -- 2.32.0.93.g670b81a890