From 3833caa99d5786e0115d62687e8124cbce0ea8a3 Mon Sep 17 00:00:00 2001 From: Marco Miozzo Date: Wed, 28 Sep 2011 16:44:57 +0200 Subject: [PATCH] Remove trace memory copy in JakesFadingLossModel --- src/lte/model/jakes-fading-loss-model.cc | 35 ++++++++++++------------ src/lte/model/jakes-fading-loss-model.h | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/lte/model/jakes-fading-loss-model.cc b/src/lte/model/jakes-fading-loss-model.cc index caf867644..f775c53dc 100644 --- a/src/lte/model/jakes-fading-loss-model.cc +++ b/src/lte/model/jakes-fading-loss-model.cc @@ -162,28 +162,29 @@ JakesFadingLossModel::SetValue (double speed) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M6_v_0 [j + startJakes]); +// multipathForTimeDomain.push_back (multipath_M6_v_0 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M6_v_0 [j + startJakes]); } } if (speed == 3) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M6_v_3 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M6_v_3 [j + startJakes]); } } if (speed == 30) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M6_v_30 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M6_v_30 [j + startJakes]); } } if (speed == 120) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M6_v_120 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M6_v_120 [j + startJakes]); } } } @@ -195,28 +196,28 @@ JakesFadingLossModel::SetValue (double speed) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M8_v_0 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M8_v_0 [j + startJakes]); } } if (speed == 3) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M8_v_3 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M8_v_3 [j + startJakes]); } } if (speed == 30) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M8_v_30 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M8_v_30 [j + startJakes]); } } if (speed == 120) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M8_v_120 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M8_v_120 [j + startJakes]); } } } @@ -228,28 +229,28 @@ JakesFadingLossModel::SetValue (double speed) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M10_v_0 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M10_v_0 [j + startJakes]); } } if (speed == 3) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M10_v_3 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M10_v_3 [j + startJakes]); } } if (speed == 30) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M10_v_30 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M10_v_30 [j + startJakes]); } } if (speed == 120) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M10_v_120 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M10_v_120 [j + startJakes]); } } } @@ -261,28 +262,28 @@ JakesFadingLossModel::SetValue (double speed) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M12_v_0 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M12_v_0 [j + startJakes]); } } if (speed == 3) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M12_v_3 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M12_v_3 [j + startJakes]); } } if (speed == 30) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M12_v_30 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M12_v_30 [j + startJakes]); } } if (speed == 120) { for (int j = 0; j < 500; j++) { - multipathForTimeDomain.push_back (multipath_M12_v_120 [j + startJakes]); + multipathForTimeDomain.push_back (&multipath_M12_v_120 [j + startJakes]); } } } @@ -317,7 +318,7 @@ JakesFadingLossModel::GetValue (int subChannel, double speed) NS_LOG_FUNCTION (this << subChannel << now_ms << lastUpdate_ms << index << m_multipath.at (subChannel).at (index)); - return m_multipath.at (subChannel).at (index); + return (*m_multipath.at (subChannel).at (index)); } diff --git a/src/lte/model/jakes-fading-loss-model.h b/src/lte/model/jakes-fading-loss-model.h index 8fae2ff56..ba7534511 100644 --- a/src/lte/model/jakes-fading-loss-model.h +++ b/src/lte/model/jakes-fading-loss-model.h @@ -93,7 +93,7 @@ public: /** * brief a list of multipath values for the time domain */ - typedef std::vector MultipathForTimeDomain; + typedef std::vector MultipathForTimeDomain; /** * brief a list of multipath values for the frequency domain */