Static Public Member Functions

FWMath Class Reference
[baseUtils - utilities for base MiXiMutils - utility classes]

Support functions for mathematical operations. More...

#include <FWMath.h>

List of all members.

Static Public Member Functions

static double mod (double dividend, double divisor)
static double div (double dividend, double divisor)
static double modulo (double a, double n)
 Returns the remainder r on division of dividend a by divisor n, using floored division. The remainder r has the same sign as the divisor n.
static bool close (double one, double two)
static int stepfunction (double i)
static int sign (double i)
static int round (double d)
static double floorToZero (double d)
static double max (double a, double b)
static double min (double a, double b)
static double dBm2mW (double dBm)
static double mW2dBm (double mW)
 Convert an mW value to dBm.
static double torDist (double x1, double x2, double y1, double y2)
static double erfc (double x)
 Complementary error function.

Detailed Description

Support functions for mathematical operations.

This class contains all kind of mathematical support functions

Author:
Christian Frank

Definition at line 76 of file FWMath.h.


Member Function Documentation

static bool FWMath::close ( double  one,
double  two 
) [inline, static]

Tests whether two doubles are close enough to be declared equal.

Returns:
true if parameters are at most epsilon apart, false otherwise

Definition at line 112 of file FWMath.h.

Referenced by Move::getPositionAt(), PostureTransition::isMarkovian(), MoBANLocal::receiveBBItem(), Move::setDirectionByTarget(), Move::setDirectionByVector(), and stepfunction().

                                              {
        return fabs(one-two)<EPSILON;
    }

static double FWMath::dBm2mW ( double  dBm  )  [inline, static]

convert a dBm value into milli Watt

Definition at line 151 of file FWMath.h.

Referenced by Mac80211::initialize(), BasePhyLayer::initialize(), and LogNormalShadowing::randomLogNormalGain().

                                    {
        return pow(10.0, dBm/10.0);
    }

static double FWMath::div ( double  dividend,
double  divisor 
) [inline, static]

Returns the result of a whole-numbered division.

Definition at line 91 of file FWMath.h.

                                                       {
        double i;
        double f;
        f=modf(dividend/divisor, &i);
        return i;
    }

static double FWMath::floorToZero ( double  d  )  [inline, static]
Returns:
the to the nearest integer towards zero rounded parameter as double

Definition at line 136 of file FWMath.h.

Referenced by TractorMobility::calculateXY().

{ return (d >= 0.0)? floor(d) : ceil(d); }

static double FWMath::max ( double  a,
double  b 
) [inline, static]
Returns:
greater of the given parameters

Definition at line 141 of file FWMath.h.

Referenced by MoBANCoordinator::readConfigurationFile().

{ return (a<b)? b : a; }

static double FWMath::min ( double  a,
double  b 
) [inline, static]
Returns:
smaller of the given parameters

Definition at line 146 of file FWMath.h.

{ return (a>b)? b : a; }

static double FWMath::mod ( double  dividend,
double  divisor 
) [inline, static]

Returns the rest of a whole-numbered division.

Definition at line 83 of file FWMath.h.

                                                       {
        double i;
        return modf(dividend/divisor, &i)*divisor;
    }

static int FWMath::round ( double  d  )  [inline, static]
Returns:
integer that corresponds to rounded double parameter

Definition at line 131 of file FWMath.h.

Referenced by MoBANCoordinator::mainProcess(), MoBANLocal::setTargetPosition(), and ConstSpeedMobility::setTargetPosition().

{ return (int)(ceil(d-0.5)); }

static int FWMath::sign ( double  i  )  [inline, static]
Returns:
1 if parameter greater or equal zero, -1 otherwise

Definition at line 126 of file FWMath.h.

{ return (i>=0)? 1 : -1; };

static int FWMath::stepfunction ( double  i  )  [inline, static]
Returns:
0 if i is close to 0, 1 if i is positive greater epsilon, -1 if it is negative smaller epsilon.

Definition at line 120 of file FWMath.h.

References close(), and EPSILON.

{ return (i>EPSILON) ? 1 : close(i,0) ? 0 :-1; };

static double FWMath::torDist ( double  x1,
double  x2,
double  y1,
double  y2 
) [inline, static]

helper function, returns squared euclidean distance makes code less messy

Definition at line 164 of file FWMath.h.

                                                                      {
        return (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2);
    }


The documentation for this class was generated from the following file: