Shortcuts

Template Class ReductionResult

Class Documentation

template<typename T>
class ripple::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.

Docs

Access comprehensive developer documentation for Ripple

View Docs

Tutorials

Get tutorials to help with understand all features

View Tutorials

Examples

Find examples to help get started

View Examples