From 95275952bf8307892e5c4b35155d03f2d98fcd21 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Wed, 6 Aug 2014 08:27:33 +0300 Subject: [PATCH] sampling: refactor iteration --- amodem/sampling.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/amodem/sampling.py b/amodem/sampling.py index 6714165..56d49d9 100755 --- a/amodem/sampling.py +++ b/amodem/sampling.py @@ -53,21 +53,19 @@ class Sampler(object): self.offset += offset def next(self): - res = self._sample() * self.gain - self.offset += self.freq - return res + return self._sample() * self.gain def _sample(self): coeffs, begin = self.interp.get(self.offset) end = begin + self.interp.coeff_len - while True: - if self.index == end: - return np.dot(coeffs, self.buff) - + while self.index < end: self.buff[:-1] = self.buff[1:] self.buff[-1] = self.src.next() # throws StopIteration self.index += 1 + self.offset += self.freq + return np.dot(coeffs, self.buff) + if __name__ == '__main__': import common import sys