7constexpr ::f64 f64_equal_delta = 0.0001;
9constexpr bool f64_equals(::f64 d1, ::f64 d2, ::f64 delta)
14 return -(delta / 2.0) < d && d < (delta / 2.0);
19constexpr bool f64_equals(::f64 d1, ::f64 d2)
22 return f64_equals(d1, d2, f64_equal_delta);
27constexpr ::std::strong_ordering f64_order(::f64 d1, ::f64 d2, ::f64 delta)
32 if (d > (delta / 2.0))
35 return std::strong_ordering::greater;
38 else if (d < -(delta / 2.0))
41 return std::strong_ordering::less;
47 return std::strong_ordering::equal;
54constexpr ::std::strong_ordering f64_order(::f64 d1, ::f64 d2)
57 return f64_order(d1, d2, f64_equal_delta);
69 constexpr frequency(::f64 dHertz) :
FREQUENCY{dHertz} {}
70 constexpr frequency(const ::FREQUENCY & frequency) :
FREQUENCY(frequency) {}
72 template < prototype_
floating FLOATING >
73 constexpr frequency operator *(FLOATING d)
const
80 template < prototype_
floating FLOATING >
81 constexpr frequency operator / (FLOATING d)
const
89 ::frequency operator = (const ::frequency & frequency)
92 m_dHertz = frequency.m_dHertz;
99 constexpr bool is_null()
const {
return m_dHertz == 0.0; }
100 constexpr bool is_set()
const {
return m_dHertz != 0.0; }
101 constexpr bool operator !()
const {
return this->is_null(); }
104 explicit operator bool()
const noexcept {
return this->is_set(); }
107 bool operator == (const ::frequency frequency)
const
110 return f64_equals(m_dHertz, frequency.m_dHertz);
115 ::std::strong_ordering operator <=> (const ::frequency frequency)
const
118 return f64_order(m_dHertz, frequency.m_dHertz);
123 ::f64 hertz()
const {
return m_dHertz; }
131template < prototype_
floating FLOATING >
132constexpr ::frequency operator / (FLOATING d,
const class time&
time)
142template < prototype_
integral INTEGRAL >
143constexpr ::frequency operator / (INTEGRAL i,
const class time&
time)
153template < prototype_
floating FLOATING >
162template < prototype_
floating FLOATING >
173template < prototype_
integral INTEGRAL >
177 auto dSeconds = (::f64) i /
frequency.m_dHertz;
184template < prototype_
integral INTEGRAL >
Definition frequency.h:64
Definition aaa_nanosecond.h:9
Definition _structures.h:10
Definition _structures.h:50