pub trait BufferReduce {
    type DType: CDatatype;

    // Required methods
    fn all(&self, queue: &Queue) -> Result<bool, Error>;
    fn any(&self, queue: &Queue) -> Result<bool, Error>;
    fn max(&self, queue: &Queue) -> Result<Self::DType, Error>;
    fn min(&self, queue: &Queue) -> Result<Self::DType, Error>;
    fn product(&self, queue: &Queue) -> Result<Self::DType, Error>;
    fn sum(&self, queue: &Queue) -> Result<Self::DType, Error>;
}
Expand description

Buffer reduce operations

Required Associated Types§

Required Methods§

source

fn all(&self, queue: &Queue) -> Result<bool, Error>

Return true if all elements in this buffer are non-zero.

source

fn any(&self, queue: &Queue) -> Result<bool, Error>

Return true if any elements in this buffer are non-zero.

source

fn max(&self, queue: &Queue) -> Result<Self::DType, Error>

Return the maximum element in this buffer.

source

fn min(&self, queue: &Queue) -> Result<Self::DType, Error>

Return the minimum element in this buffer.

source

fn product(&self, queue: &Queue) -> Result<Self::DType, Error>

Return the product of all elements in this buffer.

source

fn sum(&self, queue: &Queue) -> Result<Self::DType, Error>

Return the sum of all elements in this buffer.

Implementations on Foreign Types§

source§

impl<T: CDatatype> BufferReduce for [T]

§

type DType = T

source§

fn all(&self, _queue: &Queue) -> Result<bool, Error>

source§

fn any(&self, _queue: &Queue) -> Result<bool, Error>

source§

fn max(&self, _queue: &Queue) -> Result<Self::DType, Error>

source§

fn min(&self, _queue: &Queue) -> Result<Self::DType, Error>

source§

fn product(&self, _queue: &Queue) -> Result<Self::DType, Error>

source§

fn sum(&self, _queue: &Queue) -> Result<Self::DType, Error>

source§

impl<T: CDatatype> BufferReduce for Vec<T>

§

type DType = T

source§

fn all(&self, queue: &Queue) -> Result<bool, Error>

source§

fn any(&self, queue: &Queue) -> Result<bool, Error>

source§

fn max(&self, queue: &Queue) -> Result<Self::DType, Error>

source§

fn min(&self, queue: &Queue) -> Result<Self::DType, Error>

source§

fn product(&self, queue: &Queue) -> Result<Self::DType, Error>

source§

fn sum(&self, queue: &Queue) -> Result<Self::DType, Error>

Implementors§

source§

impl<'a, T: CDatatype> BufferReduce for BufferConverter<'a, T>

§

type DType = T

source§

impl<T: CDatatype> BufferReduce for Buffer<T>

§

type DType = T