Skip to main content

SemiringOps

Trait SemiringOps 

Source
pub trait SemiringOps: GraphOp {
    // Required methods
    fn add_op() -> Self;
    fn mul_op() -> Self;
    fn dot_general(config: DotGeneralConfig) -> Self;
    fn reduce_sum(axes: Vec<usize>, input_shape: Vec<DimExpr>) -> Self;
    fn transpose_op(perm: Vec<usize>) -> Self;
    fn reshape(from_shape: Vec<DimExpr>, to_shape: Vec<DimExpr>) -> Self;
    fn broadcast_in_dim(shape: Vec<DimExpr>, dims: Vec<usize>) -> Self;
    fn extract_diag(axis_a: usize, axis_b: usize) -> Self;
    fn embed_diag(axis_a: usize, axis_b: usize) -> Self;
}

Required Methods§

Source

fn add_op() -> Self

Source

fn mul_op() -> Self

Source

fn dot_general(config: DotGeneralConfig) -> Self

Source

fn reduce_sum(axes: Vec<usize>, input_shape: Vec<DimExpr>) -> Self

Source

fn transpose_op(perm: Vec<usize>) -> Self

Source

fn reshape(from_shape: Vec<DimExpr>, to_shape: Vec<DimExpr>) -> Self

Source

fn broadcast_in_dim(shape: Vec<DimExpr>, dims: Vec<usize>) -> Self

Source

fn extract_diag(axis_a: usize, axis_b: usize) -> Self

Source

fn embed_diag(axis_a: usize, axis_b: usize) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl SemiringOps for StdTensorOp

Source§

impl<Alg> SemiringOps for SemiringOp<Alg>
where Alg: Algebra + Send + Sync + 'static,