View | Details | Raw Unified | Return to bug 1995
Collapse All | Expand All

(-)a/src/mobility/model/gauss-markov-mobility-model.cc (-1 / +1 lines)
 Lines 168-174    Link Here 
168
      if (nextPosition.x > m_bounds.xMax || nextPosition.x < m_bounds.xMin) 
168
      if (nextPosition.x > m_bounds.xMax || nextPosition.x < m_bounds.xMin) 
169
        {
169
        {
170
          speed.x = -speed.x;
170
          speed.x = -speed.x;
171
          m_meanDirection = 3.14159265 - m_meanDirection;
171
          m_meanDirection = M_PI - m_meanDirection;
172
        }
172
        }
173
173
174
      if (nextPosition.y > m_bounds.yMax || nextPosition.y < m_bounds.yMin) 
174
      if (nextPosition.y > m_bounds.yMax || nextPosition.y < m_bounds.yMin) 
(-)a/src/mobility/model/random-direction-2d-mobility-model.cc (-7 / +5 lines)
 Lines 29-36    Link Here 
29
29
30
namespace ns3 {
30
namespace ns3 {
31
31
32
const double RandomDirection2dMobilityModel::PI = 3.14159265358979323846;
33
34
NS_OBJECT_ENSURE_REGISTERED (RandomDirection2dMobilityModel);
32
NS_OBJECT_ENSURE_REGISTERED (RandomDirection2dMobilityModel);
35
33
36
34
 Lines 78-84    Link Here 
78
void
76
void
79
RandomDirection2dMobilityModel::DoInitializePrivate (void)
77
RandomDirection2dMobilityModel::DoInitializePrivate (void)
80
{
78
{
81
  double direction = m_direction->GetValue (0, 2 * PI);
79
  double direction = m_direction->GetValue (0, 2 * M_PI);
82
  SetDirectionAndSpeed (direction);
80
  SetDirectionAndSpeed (direction);
83
}
81
}
84
82
 Lines 115-134    Link Here 
115
void
113
void
116
RandomDirection2dMobilityModel::ResetDirectionAndSpeed (void)
114
RandomDirection2dMobilityModel::ResetDirectionAndSpeed (void)
117
{
115
{
118
  double direction = m_direction->GetValue (0, PI);
116
  double direction = m_direction->GetValue (0, M_PI);
119
117
120
  m_helper.UpdateWithBounds (m_bounds);
118
  m_helper.UpdateWithBounds (m_bounds);
121
  Vector position = m_helper.GetCurrentPosition ();
119
  Vector position = m_helper.GetCurrentPosition ();
122
  switch (m_bounds.GetClosestSide (position))
120
  switch (m_bounds.GetClosestSide (position))
123
    {
121
    {
124
    case Rectangle::RIGHT:
122
    case Rectangle::RIGHT:
125
      direction += PI / 2;
123
      direction += M_PI / 2;
126
      break;
124
      break;
127
    case Rectangle::LEFT:
125
    case Rectangle::LEFT:
128
      direction += -PI / 2;
126
      direction += -M_PI / 2;
129
      break;
127
      break;
130
    case Rectangle::TOP:
128
    case Rectangle::TOP:
131
      direction += PI;
129
      direction += M_PI;
132
      break;
130
      break;
133
    case Rectangle::BOTTOM:
131
    case Rectangle::BOTTOM:
134
      direction += 0.0;
132
      direction += 0.0;
(-)a/src/mobility/model/random-direction-2d-mobility-model.h (-1 lines)
 Lines 60-66    Link Here 
60
  virtual Vector DoGetVelocity (void) const;
60
  virtual Vector DoGetVelocity (void) const;
61
  virtual int64_t DoAssignStreams (int64_t);
61
  virtual int64_t DoAssignStreams (int64_t);
62
62
63
  static const double PI;
64
  Ptr<UniformRandomVariable> m_direction;
63
  Ptr<UniformRandomVariable> m_direction;
65
  Rectangle m_bounds;
64
  Rectangle m_bounds;
66
  Ptr<RandomVariableStream> m_speed;
65
  Ptr<RandomVariableStream> m_speed;
(-)a/src/propagation/model/jakes-process.cc (-2 / +2 lines)
 Lines 85-91    Link Here 
85
void
85
void
86
JakesProcess::SetDopplerFrequencyHz (double dopplerFrequencyHz)
86
JakesProcess::SetDopplerFrequencyHz (double dopplerFrequencyHz)
87
{
87
{
88
  m_omegaDopplerMax = 2 * dopplerFrequencyHz * JakesPropagationLossModel::PI;
88
  m_omegaDopplerMax = 2 * dopplerFrequencyHz * M_PI;
89
}
89
}
90
90
91
void
91
void
 Lines 101-107    Link Here 
101
      unsigned int n = i + 1;
101
      unsigned int n = i + 1;
102
      /// 1. Rotation speed
102
      /// 1. Rotation speed
103
      /// 1a. Initiate \f[ \alpha_n = \frac{2\pi n - \pi + \theta}{4M},  n=1,2, \ldots,M\f], n is oscillatorNumber, M is m_nOscillators
103
      /// 1a. Initiate \f[ \alpha_n = \frac{2\pi n - \pi + \theta}{4M},  n=1,2, \ldots,M\f], n is oscillatorNumber, M is m_nOscillators
104
      double alpha = (2.0 * JakesPropagationLossModel::PI * n - JakesPropagationLossModel::PI + theta) / (4.0 * m_nOscillators);
104
      double alpha = (2.0 * M_PI * n - M_PI + theta) / (4.0 * m_nOscillators);
105
      /// 1b. Initiate rotation speed:
105
      /// 1b. Initiate rotation speed:
106
      double omega = m_omegaDopplerMax * std::cos (alpha);
106
      double omega = m_omegaDopplerMax * std::cos (alpha);
107
      /// 2. Initiate complex amplitude:
107
      /// 2. Initiate complex amplitude:
(-)a/src/propagation/model/jakes-propagation-loss-model.cc (-5 / +2 lines)
 Lines 28-41    Link Here 
28
{
28
{
29
NS_OBJECT_ENSURE_REGISTERED (JakesPropagationLossModel);
29
NS_OBJECT_ENSURE_REGISTERED (JakesPropagationLossModel);
30
30
31
32
const double JakesPropagationLossModel::PI = 3.14159265358979323846;
33
34
JakesPropagationLossModel::JakesPropagationLossModel()
31
JakesPropagationLossModel::JakesPropagationLossModel()
35
{
32
{
36
  m_uniformVariable = CreateObject<UniformRandomVariable> ();
33
  m_uniformVariable = CreateObject<UniformRandomVariable> ();
37
  m_uniformVariable->SetAttribute ("Min", DoubleValue (-1.0 * PI));
34
  m_uniformVariable->SetAttribute ("Min", DoubleValue (-1.0 * M_PI));
38
  m_uniformVariable->SetAttribute ("Max", DoubleValue (PI));
35
  m_uniformVariable->SetAttribute ("Max", DoubleValue (M_PI));
39
}
36
}
40
37
41
JakesPropagationLossModel::~JakesPropagationLossModel()
38
JakesPropagationLossModel::~JakesPropagationLossModel()
(-)a/src/propagation/model/jakes-propagation-loss-model.h (-2 lines)
 Lines 40-47    Link Here 
40
  JakesPropagationLossModel ();
40
  JakesPropagationLossModel ();
41
  virtual ~JakesPropagationLossModel ();
41
  virtual ~JakesPropagationLossModel ();
42
  
42
  
43
  static const double PI;
44
45
private:
43
private:
46
  friend class JakesProcess;
44
  friend class JakesProcess;
47
  double DoCalcRxPower (double txPowerDbm,
45
  double DoCalcRxPower (double txPowerDbm,
(-)a/src/propagation/model/propagation-loss-model.cc (-7 / +3 lines)
 Lines 140-147    Link Here 
140
140
141
NS_OBJECT_ENSURE_REGISTERED (FriisPropagationLossModel);
141
NS_OBJECT_ENSURE_REGISTERED (FriisPropagationLossModel);
142
142
143
const double FriisPropagationLossModel::PI = 3.14159265358979323846;
144
145
TypeId 
143
TypeId 
146
FriisPropagationLossModel::GetTypeId (void)
144
FriisPropagationLossModel::GetTypeId (void)
147
{
145
{
 Lines 264-270    Link Here 
264
      return txPowerDbm - m_minLoss;
262
      return txPowerDbm - m_minLoss;
265
    }
263
    }
266
  double numerator = m_lambda * m_lambda;
264
  double numerator = m_lambda * m_lambda;
267
  double denominator = 16 * PI * PI * distance * distance * m_systemLoss;
265
  double denominator = 16 * M_PI * M_PI * distance * distance * m_systemLoss;
268
  double lossDb = -10 * log10 (numerator / denominator);
266
  double lossDb = -10 * log10 (numerator / denominator);
269
  NS_LOG_DEBUG ("distance=" << distance<< "m, loss=" << lossDb <<"dB");
267
  NS_LOG_DEBUG ("distance=" << distance<< "m, loss=" << lossDb <<"dB");
270
  return txPowerDbm - std::max (lossDb, m_minLoss);
268
  return txPowerDbm - std::max (lossDb, m_minLoss);
 Lines 281-288    Link Here 
281
279
282
NS_OBJECT_ENSURE_REGISTERED (TwoRayGroundPropagationLossModel);
280
NS_OBJECT_ENSURE_REGISTERED (TwoRayGroundPropagationLossModel);
283
281
284
const double TwoRayGroundPropagationLossModel::PI = 3.14159265358979323846;
285
286
TypeId 
282
TypeId 
287
TwoRayGroundPropagationLossModel::GetTypeId (void)
283
TwoRayGroundPropagationLossModel::GetTypeId (void)
288
{
284
{
 Lines 419-431    Link Here 
419
   *
415
   *
420
   */
416
   */
421
417
422
  double dCross = (4 * PI * txAntHeight * rxAntHeight) / m_lambda;
418
  double dCross = (4 * M_PI * txAntHeight * rxAntHeight) / m_lambda;
423
  double tmp = 0;
419
  double tmp = 0;
424
  if (distance <= dCross)
420
  if (distance <= dCross)
425
    {
421
    {
426
      // We use Friis
422
      // We use Friis
427
      double numerator = m_lambda * m_lambda;
423
      double numerator = m_lambda * m_lambda;
428
      tmp = PI * distance;
424
      tmp = M_PI * distance;
429
      double denominator = 16 * tmp * tmp * m_systemLoss;
425
      double denominator = 16 * tmp * tmp * m_systemLoss;
430
      double pr = 10 * std::log10 (numerator / denominator);
426
      double pr = 10 * std::log10 (numerator / denominator);
431
      NS_LOG_DEBUG ("Receiver within crossover (" << dCross << "m) for Two_ray path; using Friis");
427
      NS_LOG_DEBUG ("Receiver within crossover (" << dCross << "m) for Two_ray path; using Friis");
(-)a/src/propagation/model/propagation-loss-model.h (-2 lines)
 Lines 265-271    Link Here 
265
  double DbmToW (double dbm) const;
265
  double DbmToW (double dbm) const;
266
  double DbmFromW (double w) const;
266
  double DbmFromW (double w) const;
267
267
268
  static const double PI;
269
  double m_lambda;
268
  double m_lambda;
270
  double m_frequency;
269
  double m_frequency;
271
  double m_systemLoss;
270
  double m_systemLoss;
 Lines 358-364    Link Here 
358
  double DbmToW (double dbm) const;
357
  double DbmToW (double dbm) const;
359
  double DbmFromW (double w) const;
358
  double DbmFromW (double w) const;
360
359
361
  static const double PI;
362
  double m_lambda;
360
  double m_lambda;
363
  double m_frequency;
361
  double m_frequency;
364
  double m_systemLoss;
362
  double m_systemLoss;
(-)a/src/wifi/model/dsss-error-rate-model.cc (-1 / +1 lines)
 Lines 35-41    Link Here 
35
DsssErrorRateModel::DqpskFunction (double x)
35
DsssErrorRateModel::DqpskFunction (double x)
36
{
36
{
37
  NS_LOG_FUNCTION_NOARGS ();
37
  NS_LOG_FUNCTION_NOARGS ();
38
  return ((std::sqrt (2.0) + 1.0) / std::sqrt (8.0 * 3.1415926 * std::sqrt (2.0)))
38
  return ((std::sqrt (2.0) + 1.0) / std::sqrt (8.0 * M_PI * std::sqrt (2.0)))
39
    * (1.0 / std::sqrt (x)) * std::exp ( -(2.0 - std::sqrt (2.0)) * x);
39
    * (1.0 / std::sqrt (x)) * std::exp ( -(2.0 - std::sqrt (2.0)) * x);
40
}
40
}
41
41

Return to bug 1995