coaster-blas 0.4.0

Coaster library for full BLAS support
Documentation
//! Provides the IBlasBinary binary trait for Coaster's Framework implementation.

use super::operation::*;

/// Describes the operation binding for a Blas Binary implementation.
pub trait IBlasBinary<F> {
    /// Describes the Asum Operation.
    type Asum: IOperationAsum<F>;
    /// Describes the Axpy Operation.
    type Axpy: IOperationAxpy<F>;
    /// Describes the Copy Operation.
    type Copy: IOperationCopy<F>;
    /// Describes the Dot Operation.
    type Dot: IOperationDot<F>;
    /// Describes the Nrm2 Operation.
    type Nrm2: IOperationNrm2<F>;
    /// Describes the Scale Operation.
    type Scale: IOperationScale<F>;
    /// Describes the Swap Operation.
    type Swap: IOperationSwap<F>;

    /// Returns an initialized Asum operation.
    fn asum(&self) -> Self::Asum;
    /// Returns an initialized Axpy operation.
    fn axpy(&self) -> Self::Axpy;
    /// Returns an initialized Copy operation.
    fn copy(&self) -> Self::Copy;
    /// Returns an initialized Dot operation.
    fn dot(&self) -> Self::Dot;
    /// Returns an initialized Nrm2 operation.
    fn nrm2(&self) -> Self::Nrm2;
    /// Returns an initialized Scale operation.
    fn scale(&self) -> Self::Scale;
    /// Returns an initialized Swap operation.
    fn swap(&self) -> Self::Swap;
}