Template Class ReductionResult¶
Defined in File reducer.hpp
Class Documentation¶
-
template<typename
T
>
classripple
::
ReductionResult
¶ This class holds the result of a reduction over data of type T.
It stores an atomic type T and a boolean which spcifies if the reduction is complete. It is used to perform a reduction across multiple devices.
- Template Parameters
T
: The type of the data for the reduction.
Public Functions
-
ReductionResult
() noexcept = default¶ Default constructor, set the results to be unfinished and the value to be zero.
-
ReductionResult
(const T &value) noexcept¶ Constructor to initialize the result to the given value.
- Parameters
value
: The value to set the result to.
-
auto
value
() const noexcept -> T¶ Gets the result of the redution.
- Note
If a call to
finished()
returns false, then the result of this call is undefined.- Return
The value of the reduction result.
-
auto
value_and_reset
() noexcept -> T¶ Gets the result of the redution and then resets the value of the result to be the initial value.
- Note
If a call to
finished()
returns false, then the result of this call is undefined.- Return
The value of the reduction result.
-
auto
reset
() noexcept -> void¶ Resets the reduction result to the initial value, and for the refuction result to not be finished.
-
auto
set_value
(const T &value) noexcept -> void¶ Sets the result to the given value.
- Parameters
value
: The value to set the result to.
-
auto
finished
() const noexcept -> bool¶ Determines if the reduction is finished and hence if the value is valid.
- Return
true if threduction is finished and the value is valid.
-
auto
set_finished
() noexcept -> void¶ Sets that the reduction is finished.
-
auto
set_unfinished
() noexcept -> void¶ Sets the the reduction is not finished.