Trait MultInto

Source
pub trait MultInto<First, Second> {
    type Item: RlstNum;

    // Required method
    fn mult_into(
        self,
        transa: TransMode,
        transb: TransMode,
        alpha: Self::Item,
        arr_a: First,
        arr_b: Second,
        beta: Self::Item,
    ) -> Self;

    // Provided method
    fn simple_mult_into(self, arr_a: First, arr_b: Second) -> Self
       where Self: Sized { ... }
}
Expand description

Multiply into

Required Associated Types§

Source

type Item: RlstNum

Item type

Required Methods§

Source

fn mult_into( self, transa: TransMode, transb: TransMode, alpha: Self::Item, arr_a: First, arr_b: Second, beta: Self::Item, ) -> Self

Multiply into

Provided Methods§

Source

fn simple_mult_into(self, arr_a: First, arr_b: Second) -> Self
where Self: Sized,

Multiply First * Second and sum into 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<Item: RlstScalar + Gemm, ArrayImpl: UnsafeRandomAccessByValue<1, Item = Item> + UnsafeRandomAccessMut<1, Item = Item> + Shape<1> + Stride<1> + RawAccessMut<Item = Item>, ArrayImplFirst: UnsafeRandomAccessByValue<1, Item = Item> + Shape<1> + Stride<1> + RawAccess<Item = Item>, ArrayImplSecond: UnsafeRandomAccessByValue<2, Item = Item> + Shape<2> + Stride<2> + RawAccess<Item = Item>> MultInto<Array<Item, ArrayImplFirst, 1>, Array<Item, ArrayImplSecond, 2>> for Array<Item, ArrayImpl, 1>

Source§

type Item = Item

Source§

impl<Item: RlstScalar + Gemm, ArrayImpl: UnsafeRandomAccessByValue<1, Item = Item> + UnsafeRandomAccessMut<1, Item = Item> + Shape<1> + Stride<1> + RawAccessMut<Item = Item>, ArrayImplFirst: UnsafeRandomAccessByValue<2, Item = Item> + Shape<2> + Stride<2> + RawAccess<Item = Item>, ArrayImplSecond: UnsafeRandomAccessByValue<1, Item = Item> + Shape<1> + Stride<1> + RawAccess<Item = Item>> MultInto<Array<Item, ArrayImplFirst, 2>, Array<Item, ArrayImplSecond, 1>> for Array<Item, ArrayImpl, 1>

Source§

type Item = Item

Source§

impl<Item: RlstScalar, ArrayImpl: UnsafeRandomAccessByValue<2, Item = Item> + UnsafeRandomAccessMut<2, Item = Item> + Shape<2> + Stride<2> + RawAccessMut<Item = Item>, ArrayImplFirst: UnsafeRandomAccessByValue<2, Item = Item> + Shape<2> + Stride<2> + RawAccess<Item = Item>, ArrayImplSecond: UnsafeRandomAccessByValue<2, Item = Item> + Shape<2> + Stride<2> + RawAccess<Item = Item>> MultInto<Array<Item, ArrayImplFirst, 2>, Array<Item, ArrayImplSecond, 2>> for Array<Item, ArrayImpl, 2>

Source§

type Item = Item