summaryrefslogtreecommitdiffstats
path: root/src/Interleaver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Interleaver.cpp')
-rw-r--r--src/Interleaver.cpp20
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]));
}