diff options
Diffstat (limited to 'src/Interleaver.cpp')
-rw-r--r-- | src/Interleaver.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/Interleaver.cpp b/src/Interleaver.cpp index 7d69810..cf0d235 100644 --- a/src/Interleaver.cpp +++ b/src/Interleaver.cpp @@ -28,23 +28,17 @@ #endif // _WIN32 -Interleaver::Interleaver(unsigned short I, unsigned short M, bool reverse) +Interleaver::Interleaver(unsigned short I, unsigned short M, bool reverse) : + I(I), + M(M), + N(I * M), + memSize((this->N * I) - 1) { - this->I = I; - this->M = M; - this->N = I * M; - this->memSize = (this->N * I) - 1; - this->mem = new char[memSize]; + mem.resize(memSize); setReverse(reverse); } -Interleaver::~Interleaver() -{ - delete []mem; -} - - void Interleaver::setReverse(bool state) { reverse = state; @@ -56,7 +50,7 @@ void Interleaver::reset() { j = 0; index = 0; - bzero(mem, memSize); + memset(mem.data(), 0, memSize * sizeof(mem[0])); } |