#include "precomp.h" SpeechWrap::SpeechWrap() { cache_size = 0; } SpeechWrap::~SpeechWrap() { } void SpeechWrap::reset() { cache_size = 0; } void SpeechWrap::load(float *din, int len) { in = din; in_size = len; total_size = cache_size + in_size; } int SpeechWrap::size() { return total_size; } void SpeechWrap::update(int offset) { int in_offset = offset - cache_size; cache_size = (total_size - offset); memcpy(cache, in + in_offset, cache_size * sizeof(float)); } float &SpeechWrap::operator[](int i) { return i < cache_size ? cache[i] : in[i - cache_size]; }