template<typename T>
DiagnosticValueWrapper struct
Wrapper for the actual diagnostic value, required so reductions do not have to operate over the virtual DiagnosticBase hierarchy.
Public types
- struct ReduceTag
- Tag for creating a value wrapper that will participate in the reduction.
Constructors, destructors, conversion operators
- DiagnosticValueWrapper() defaulted
- DiagnosticValueWrapper(T in_value) explicit
- Construct a regular value with a initial value.
- DiagnosticValueWrapper(ReduceTag, T in_value, bool updated, std::size_t in_N)
- Construct a wrapper value for the reduction.
Public functions
- auto getRef() -> T&
- Get reference to the underlying value.
- auto getConstRef() const -> T const &
- Get const reference to the underlying value.
- auto max() const -> T
- Get max value (use after reduction)
- auto sum() const -> T
- Get sum of values (use after reduction)
- auto min() const -> T
- Get min of value (use after reduction)
- auto avg() const -> double
- Get the arithmetic mean value (use after reduction)
- auto var() const -> double
- Get the variance (use after reduction)
- auto I() const -> double
- Get I—imbalance metric (use after reduction)
- auto stdv() const -> double
- Get the standard deviation (use after reduction)
- void incrementN()
- Increment the cardinality.
- auto getN() const -> std::size_t
- Get
N_the cardinality of the value. - auto getRawValue() const -> T
- Get raw underlying value.
- auto getComputedValue() const -> T
- Get the computed value (based on update type)
- void update(T new_val)
- Update the value.
-
template<typename SerializerT>void serialize(SerializerT& s)
- Serialize this class.
-
auto getHistogram() const -> adt::
HistogramApprox<double, int64_t> const & - Get the histogram after reducing.
- auto isUpdated() const -> bool
- Return if the value was ever updated.
Friends
- auto operator+(DiagnosticValueWrapper<T> d1, DiagnosticValueWrapper<T> const& d2) -> DiagnosticValueWrapper<T>
- Operator for reducing over the value.
Function documentation
template<typename T>
vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: DiagnosticValueWrapper(T in_value) explicit
Construct a regular value with a initial value.
| Parameters | |
|---|---|
| in_value in | the initial value |
template<typename T>
vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: DiagnosticValueWrapper(ReduceTag,
T in_value,
bool updated,
std::size_t in_N)
Construct a wrapper value for the reduction.
| Parameters | |
|---|---|
| in_value in | the starting value for the reduction |
| updated | |
| in_N | |
template<typename T>
T& vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: getRef()
Get reference to the underlying value.
| Returns | the value |
|---|
template<typename T>
T const & vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: getConstRef() const
Get const reference to the underlying value.
| Returns | const ref to value |
|---|
template<typename T>
T vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: max() const
Get max value (use after reduction)
| Returns | the max value |
|---|
template<typename T>
T vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: sum() const
Get sum of values (use after reduction)
| Returns | the sum of values |
|---|
template<typename T>
T vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: min() const
Get min of value (use after reduction)
| Returns | the min value |
|---|
template<typename T>
double vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: avg() const
Get the arithmetic mean value (use after reduction)
| Returns | the mean value |
|---|
template<typename T>
double vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: var() const
Get the variance (use after reduction)
| Returns | the variance |
|---|
template<typename T>
double vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: I() const
Get I—imbalance metric (use after reduction)
| Returns | I |
|---|
template<typename T>
double vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: stdv() const
Get the standard deviation (use after reduction)
| Returns | the standard deviation |
|---|
template<typename T>
std::size_t vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: getN() const
Get N_ the cardinality of the value.
| Returns | N_ |
|---|
template<typename T>
T vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: getComputedValue() const
Get the computed value (based on update type)
template<typename T>
void vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: update(T new_val)
Update the value.
| Parameters | |
|---|---|
| new_val in | the new value |
template<typename T>
template<typename SerializerT>
void vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: serialize(SerializerT& s)
Serialize this class.
| Parameters | |
|---|---|
| s in | the serializer |
template<typename T>
adt:: HistogramApprox<double, int64_t> const & vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: getHistogram() const
Get the histogram after reducing.
| Returns | the histogram over nodes |
|---|
template<typename T>
bool vt:: runtime:: component:: detail:: DiagnosticValueWrapper<T>:: isUpdated() const
Return if the value was ever updated.
| Returns | if it was updated |
|---|
template<typename T>
DiagnosticValueWrapper<T> operator+(DiagnosticValueWrapper<T> d1,
DiagnosticValueWrapper<T> const& d2)
Operator for reducing over the value.
| Parameters | |
|---|---|
| d1 in | first operand |
| d2 in | second operand |
| Returns | value after reducer applied |