Vanetza
Loading...
Searching...
No Matches
vanetza::UnitInterval Class Reference

#include <unit_interval.hpp>

Inheritance diagram for vanetza::UnitInterval:

Public Member Functions

constexpr UnitInterval (double v)
 UnitInterval (const UnitInterval &)=default
UnitIntervaloperator= (const UnitInterval &)=default
UnitIntervaloperator+= (const UnitInterval &)
UnitIntervaloperator-= (const UnitInterval &)
UnitIntervaloperator*= (const UnitInterval &)
UnitIntervaloperator/= (const UnitInterval &)
UnitIntervaloperator+= (double)
UnitIntervaloperator-= (double)
UnitIntervaloperator*= (double)
UnitIntervaloperator/= (double)
bool operator< (const UnitInterval &other) const
bool operator== (const UnitInterval &other) const
double value () const
UnitInterval complement () const

Private Member Functions

UnitIntervalclamp ()

Static Private Member Functions

static constexpr double clamp (double v)

Private Attributes

double m_value

Detailed Description

UnitInterval represents a number within the unit interval [0.0, 1.0]

UnitInterval is not an interval on its own but limits all numbers to this interval. Mantissa (positive fractional part of a real number) behaves differently, thus:

  • Mantissa(42.1234) = 0.1234
  • UnitInterval(42.1234) = 1.0 UnitInterval is also related to "(proper) decimal fraction" but latter does not include 1.0.

Definition at line 20 of file unit_interval.hpp.

Constructor & Destructor Documentation

◆ UnitInterval() [1/2]

vanetza::UnitInterval::UnitInterval ( )
inlineconstexpr

Definition at line 26 of file unit_interval.hpp.

◆ UnitInterval() [2/2]

vanetza::UnitInterval::UnitInterval ( double v)
inlineexplicitconstexpr

Definition at line 27 of file unit_interval.hpp.

Member Function Documentation

◆ clamp() [1/2]

UnitInterval & vanetza::UnitInterval::clamp ( )
private

Definition at line 71 of file unit_interval.cpp.

◆ clamp() [2/2]

constexpr double vanetza::UnitInterval::clamp ( double v)
inlinestaticconstexprprivate

Definition at line 50 of file unit_interval.hpp.

◆ complement()

UnitInterval vanetza::UnitInterval::complement ( ) const

Definition at line 77 of file unit_interval.cpp.

◆ operator*=() [1/2]

UnitInterval & vanetza::UnitInterval::operator*= ( const UnitInterval & other)

Definition at line 21 of file unit_interval.cpp.

◆ operator*=() [2/2]

UnitInterval & vanetza::UnitInterval::operator*= ( double value)

Definition at line 48 of file unit_interval.cpp.

◆ operator+=() [1/2]

UnitInterval & vanetza::UnitInterval::operator+= ( const UnitInterval & other)

Definition at line 9 of file unit_interval.cpp.

◆ operator+=() [2/2]

UnitInterval & vanetza::UnitInterval::operator+= ( double value)

Definition at line 36 of file unit_interval.cpp.

◆ operator-=() [1/2]

UnitInterval & vanetza::UnitInterval::operator-= ( const UnitInterval & other)

Definition at line 15 of file unit_interval.cpp.

◆ operator-=() [2/2]

UnitInterval & vanetza::UnitInterval::operator-= ( double value)

Definition at line 42 of file unit_interval.cpp.

◆ operator/=() [1/2]

UnitInterval & vanetza::UnitInterval::operator/= ( const UnitInterval & other)

Definition at line 28 of file unit_interval.cpp.

◆ operator/=() [2/2]

UnitInterval & vanetza::UnitInterval::operator/= ( double value)

Definition at line 54 of file unit_interval.cpp.

◆ operator<()

bool vanetza::UnitInterval::operator< ( const UnitInterval & other) const

Definition at line 60 of file unit_interval.cpp.

◆ operator==()

bool vanetza::UnitInterval::operator== ( const UnitInterval & other) const

Definition at line 65 of file unit_interval.cpp.

◆ value()

double vanetza::UnitInterval::value ( ) const
inline

Definition at line 46 of file unit_interval.hpp.

Member Data Documentation

◆ m_value

double vanetza::UnitInterval::m_value
private

Definition at line 56 of file unit_interval.hpp.


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