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]

constexpr vanetza::UnitInterval::UnitInterval ( )
inlineconstexpr

Definition at line 26 of file unit_interval.hpp.

◆ UnitInterval() [2/2]

constexpr 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]

static 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: