Trait peroxide::traits::fp::ParallelFPMatrix

source ·
pub trait ParallelFPMatrix {
    type Scalar;

    // Required methods
    fn par_fmap<F>(&self, f: F) -> Self
       where F: Fn(Self::Scalar) -> Self::Scalar + Send + Sync;
    fn par_reduce<F, T>(&self, init: T, f: F) -> Self::Scalar
       where F: Fn(Self::Scalar, Self::Scalar) -> Self::Scalar + Send + Sync,
             T: Into<Self::Scalar> + Copy + Clone + Send + Sync;
    fn par_zip_with<F>(&self, f: F, other: &Self) -> Self
       where F: Fn(Self::Scalar, Self::Scalar) -> Self::Scalar + Send + Sync;
    fn par_col_reduce<F>(&self, f: F) -> Vec<Self::Scalar>
       where F: Fn(Vec<Self::Scalar>) -> Self::Scalar + Send + Sync;
    fn par_row_reduce<F>(&self, f: F) -> Vec<Self::Scalar>
       where F: Fn(Vec<Self::Scalar>) -> Self::Scalar + Send + Sync;
}
Expand description

Functional Programming for Matrix in Parallel (Uses Rayon crate)

Required Associated Types§

Required Methods§

source

fn par_fmap<F>(&self, f: F) -> Self
where F: Fn(Self::Scalar) -> Self::Scalar + Send + Sync,

source

fn par_reduce<F, T>(&self, init: T, f: F) -> Self::Scalar
where F: Fn(Self::Scalar, Self::Scalar) -> Self::Scalar + Send + Sync, T: Into<Self::Scalar> + Copy + Clone + Send + Sync,

source

fn par_zip_with<F>(&self, f: F, other: &Self) -> Self
where F: Fn(Self::Scalar, Self::Scalar) -> Self::Scalar + Send + Sync,

source

fn par_col_reduce<F>(&self, f: F) -> Vec<Self::Scalar>
where F: Fn(Vec<Self::Scalar>) -> Self::Scalar + Send + Sync,

source

fn par_row_reduce<F>(&self, f: F) -> Vec<Self::Scalar>
where F: Fn(Vec<Self::Scalar>) -> Self::Scalar + Send + Sync,

Object Safety§

This trait is not object safe.

Implementors§