22 #include <ns3/spectrum-value.h>
35 : m_spectrumModel (sof),
36 m_values (sof->GetNumBands ())
68 Values::const_iterator
74 Values::const_iterator
109 Values::iterator it1 =
m_values.begin ();
110 Values::const_iterator it2 = x.
m_values.begin ();
127 Values::iterator it1 =
m_values.begin ();
141 Values::iterator it1 =
m_values.begin ();
142 Values::const_iterator it2 = x.
m_values.begin ();
167 Values::iterator it1 =
m_values.begin ();
168 Values::const_iterator it2 = x.
m_values.begin ();
185 Values::iterator it1 =
m_values.begin ();
200 Values::iterator it1 =
m_values.begin ();
201 Values::const_iterator it2 = x.
m_values.begin ();
219 Values::iterator it1 =
m_values.begin ();
234 Values::iterator it1 =
m_values.begin ();
248 while (i < (
int)
m_values.size () - n)
283 Values::iterator it1 =
m_values.begin ();
287 *it1 = std::pow (*it1, exp);
297 Values::iterator it1 =
m_values.begin ();
301 *it1 = std::pow (base, *it1);
311 Values::iterator it1 =
m_values.begin ();
315 *it1 = std::log10 (*it1);
324 Values::iterator it1 =
m_values.begin ();
338 Values::iterator it1 =
m_values.begin ();
342 *it1 = std::log (*it1);
354 s += (*it1) * (*it1);
357 return std::sqrt (s);
398 i += (*vit) * (bit->fh - bit->fl);
667 Values::iterator it1 =
m_values.begin ();
Values::const_iterator ConstValuesEnd() const
SpectrumValue & operator*=(const SpectrumValue &rhs)
Multiply *this by the Right Hand Side of the operator, component by component.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
uint32_t SpectrumModelUid_t
Uid for SpectrumModels.
void ChangeSign()
Change the values sign.
SpectrumValue & operator/=(const SpectrumValue &rhs)
Divide *this by the Right Hand Side of the operator, component by component.
double Integral(const SpectrumValue &arg)
void Subtract(const SpectrumValue &x)
Subtracts a SpectrumValue (element by element subtraction)
SpectrumValue operator>>(int n) const
right shift operator
SpectrumValue & operator+=(const SpectrumValue &rhs)
Add the Right Hand Side of the operator to *this, component by component.
SpectrumModelUid_t GetSpectrumModelUid() const
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Values::iterator ValuesEnd()
friend SpectrumValue Log(const SpectrumValue &arg)
void Divide(const SpectrumValue &x)
Divides by a SpectrumValue (element to element division)
void Multiply(const SpectrumValue &x)
Multiplies for a SpectrumValue (element to element multiplication)
Bands::const_iterator End() const
Const Iterator to the model Bands container end.
friend SpectrumValue Log10(const SpectrumValue &arg)
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator.
SpectrumValue & operator-=(const SpectrumValue &rhs)
Subtract the Right Hand Side of the operator from *this, component by component.
Bands::const_iterator ConstBandsEnd() const
SpectrumModelUid_t GetUid() const
SpectrumValue operator<<(int n) const
left shift operator
Ptr< const SpectrumModel > GetSpectrumModel() const
friend SpectrumValue Pow(const SpectrumValue &lhs, double rhs)
void Add(const SpectrumValue &x)
Add a SpectrumValue (element to element addition)
SpectrumValue Pow(double lhs, const SpectrumValue &rhs)
int64x64_t operator+(const int64x64_t &lhs, const int64x64_t &rhs)
Addition operator.
Ptr< const SpectrumModel > m_spectrumModel
The spectrum model.
void ShiftRight(int n)
Shift the values to the right.
int64x64_t operator/(const int64x64_t &lhs, const int64x64_t &rhs)
Division operator.
Bands::const_iterator ConstBandsBegin() const
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
int64x64_t operator-(const int64x64_t &lhs, const int64x64_t &rhs)
Subtraction operator.
void Log2()
Applies a Log2 to each the elements.
void Log()
Applies a Log to each the elements.
void Log10()
Applies a Log10 to each the elements.
SpectrumValue Log10(const SpectrumValue &arg)
Values m_values
Set of values which implement the codomain of the functions in the Function Space defined by Spectrum...
friend SpectrumValue Log2(const SpectrumValue &arg)
double & operator[](size_t index)
Access value at given frequency index.
Values::iterator ValuesBegin()
SpectrumValue Log(const SpectrumValue &arg)
double Norm(const SpectrumValue &x)
SpectrumValue & operator=(double rhs)
Assign each component of *this to the value of the Right Hand Side of the operator.
Bands::const_iterator Begin() const
Const Iterator to the model Bands container start.
void ShiftLeft(int n)
Shift the values to the left.
double Sum(const SpectrumValue &x)
Ptr< SpectrumValue > Copy() const
Values::const_iterator ConstValuesBegin() const
SpectrumValue Log2(const SpectrumValue &arg)
Set of values corresponding to a given SpectrumModel.
void Exp(double base)
Modifies each element so that it is the base raised to each element value.
double Prod(const SpectrumValue &x)