Delay compare ops

This commit is contained in:
James Cherry
2020-07-11 16:24:48 -07:00
parent 894b4887d8
commit 9468da1ae8
26 changed files with 357 additions and 341 deletions
+54 -27
View File
@@ -17,7 +17,6 @@
#pragma once
#include "MinMax.hh"
#include "Fuzzy.hh"
// Delay values defined as floats.
@@ -32,6 +31,19 @@ const Delay delay_zero = 0.0;
void
initDelayConstants();
const char *
delayAsString(const Delay &delay,
const StaState *sta);
const char *
delayAsString(const Delay &delay,
const StaState *sta,
int digits);
const char *
delayAsString(const Delay &delay,
const EarlyLate *early_late,
const StaState *sta,
int digits);
inline Delay
makeDelay(float delay,
float,
@@ -55,46 +67,61 @@ delayAsFloat(const Delay &delay)
}
// mean late+/early- sigma
float
inline float
delayAsFloat(const Delay &delay,
const EarlyLate *early_late,
const StaState *sta);
float
delaySigma2(const Delay &delay,
const EarlyLate *early_late);
const char *
delayAsString(const Delay &delay,
const StaState *sta);
const char *
delayAsString(const Delay &delay,
const StaState *sta,
int digits);
const char *
delayAsString(const Delay &delay,
const EarlyLate *early_late,
const StaState *sta,
int digits);
const EarlyLate *,
const StaState *)
{
return delay;
}
inline float
delaySigma2(const Delay &,
const EarlyLate *)
{
return 0.0;
}
const Delay &
delayInitValue(const MinMax *min_max);
bool
delayIsInitValue(const Delay &delay,
const MinMax *min_max);
bool
fuzzyGreater(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
delayZero(const Delay &delay);
bool
fuzzyGreaterEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
delayInf(const Delay &delay);
bool
fuzzyLess(const Delay &delay1,
delayEqual(const Delay &delay1,
const Delay &delay2);
bool
delayLess(const Delay &delay1,
const Delay &delay2);
bool
delayLess(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyLessEqual(const Delay &delay1,
delayLessEqual(const Delay &delay1,
const Delay &delay2);
bool
delayLessEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
delayGreater(const Delay &delay1,
const Delay &delay2);
bool
delayGreater(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
delayGreaterEqual(const Delay &delay1,
const Delay &delay2);
bool
delayGreaterEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
Delay
delayRemove(const Delay &delay1,
+28 -28
View File
@@ -47,10 +47,6 @@ public:
void operator-=(float delay);
void operator-=(const Delay &delay);
bool operator==(const Delay &delay) const;
bool operator>(const Delay &delay) const;
bool operator>=(const Delay &delay) const;
bool operator<(const Delay &delay) const;
bool operator<=(const Delay &delay) const;
private:
float mean_;
@@ -63,6 +59,19 @@ const Delay delay_zero(0.0);
void
initDelayConstants();
const char *
delayAsString(const Delay &delay,
const StaState *sta);
const char *
delayAsString(const Delay &delay,
const StaState *sta,
int digits);
const char *
delayAsString(const Delay &delay,
const EarlyLate *early_late,
const StaState *sta,
int digits);
Delay
makeDelay(float delay,
float sigma_early,
@@ -75,7 +84,10 @@ makeDelay2(float delay,
float sigma_late);
inline float
delayAsFloat(const Delay &delay) { return delay.mean(); }
delayAsFloat(const Delay &delay)
{
return delay.mean();
}
// mean late+/early- sigma
float
@@ -85,56 +97,44 @@ delayAsFloat(const Delay &delay,
float
delaySigma2(const Delay &delay,
const EarlyLate *early_late);
const char *
delayAsString(const Delay &delay,
const StaState *sta);
const char *
delayAsString(const Delay &delay,
const StaState *sta,
int digits);
const char *
delayAsString(const Delay &delay,
const EarlyLate *early_late,
const StaState *sta,
int digits);
const Delay &
delayInitValue(const MinMax *min_max);
bool
delayIsInitValue(const Delay &delay,
const MinMax *min_max);
bool
fuzzyZero(const Delay &delay);
delayZero(const Delay &delay);
bool
fuzzyInf(const Delay &delay);
delayInf(const Delay &delay);
bool
fuzzyEqual(const Delay &delay1,
delayEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLess(const Delay &delay1,
delayLess(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLess(const Delay &delay1,
delayLess(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyLessEqual(const Delay &delay1,
delayLessEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLessEqual(const Delay &delay1,
delayLessEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyGreater(const Delay &delay1,
delayGreater(const Delay &delay1,
const Delay &delay2);
bool
fuzzyGreaterEqual(const Delay &delay1,
delayGreaterEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyGreaterEqual(const Delay &delay1,
delayGreaterEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyGreater(const Delay &delay1,
delayGreater(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
// delay1-delay2 subtracting sigma instead of addiing.
+11 -15
View File
@@ -50,10 +50,6 @@ public:
void operator-=(float delay);
void operator-=(const Delay &delay);
bool operator==(const Delay &delay) const;
bool operator>(const Delay &delay) const;
bool operator>=(const Delay &delay) const;
bool operator<(const Delay &delay) const;
bool operator<=(const Delay &delay) const;
protected:
static const int early_index = 0;
@@ -110,38 +106,38 @@ bool
delayIsInitValue(const Delay &delay,
const MinMax *min_max);
bool
fuzzyZero(const Delay &delay);
delayZero(const Delay &delay);
bool
fuzzyInf(const Delay &delay);
delayInf(const Delay &delay);
bool
fuzzyEqual(const Delay &delay1,
delayEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLess(const Delay &delay1,
delayLess(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLess(const Delay &delay1,
delayLess(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyLessEqual(const Delay &delay1,
delayLessEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyLessEqual(const Delay &delay1,
delayLessEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyGreater(const Delay &delay1,
delayGreater(const Delay &delay1,
const Delay &delay2);
bool
fuzzyGreaterEqual(const Delay &delay1,
delayGreaterEqual(const Delay &delay1,
const Delay &delay2);
bool
fuzzyGreaterEqual(const Delay &delay1,
delayGreaterEqual(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
bool
fuzzyGreater(const Delay &delay1,
delayGreater(const Delay &delay1,
const Delay &delay2,
const MinMax *min_max);
// delay1-delay2 subtracting sigma instead of addiing.