Trait RotateKernel

Source
trait RotateKernel<T: TxOperations> {
    const ADD: fn(T, T) -> T;
    const SUB: fn(T, T) -> T;
    const SHIFT: fn(T) -> T;

    // Provided methods
    fn half_kernel<const SHIFT0: i32, const SHIFT1: i32, const SHIFT2: i32>(
        p0: (T, T),
        p1: T,
        m: (i32, i32, i32),
    ) -> (T, T) { ... }
    fn kernel<const SHIFT0: i32, const SHIFT1: i32, const SHIFT2: i32>(
        p0: T,
        p1: T,
        m: (i32, i32, i32),
    ) -> (T, T) { ... }
}

Required Associated Constants§

Source

const ADD: fn(T, T) -> T

Source

const SUB: fn(T, T) -> T

Source

const SHIFT: fn(T) -> T

Provided Methods§

Source

fn half_kernel<const SHIFT0: i32, const SHIFT1: i32, const SHIFT2: i32>( p0: (T, T), p1: T, m: (i32, i32, i32), ) -> (T, T)

Source

fn kernel<const SHIFT0: i32, const SHIFT1: i32, const SHIFT2: i32>( p0: T, p1: T, m: (i32, i32, i32), ) -> (T, T)

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<T: TxOperations> RotateKernel<T> for RotateAdd

Source§

const ADD: fn(T, T) -> T = T::add

Source§

const SUB: fn(T, T) -> T = T::sub

Source§

const SHIFT: fn(T) -> T = T::copy_fn

Source§

impl<T: TxOperations> RotateKernel<T> for RotateAddAvg

Source§

const ADD: fn(T, T) -> T = T::add_avg

Source§

const SUB: fn(T, T) -> T = T::sub

Source§

const SHIFT: fn(T) -> T = T::copy_fn

Source§

impl<T: TxOperations> RotateKernel<T> for RotateAddShift

Source§

const ADD: fn(T, T) -> T = T::add

Source§

const SUB: fn(T, T) -> T = T::sub

Source§

const SHIFT: fn(T) -> T = T::rshift1

Source§

impl<T: TxOperations> RotateKernel<T> for RotateSub

Source§

const ADD: fn(T, T) -> T = T::sub

Source§

const SUB: fn(T, T) -> T = T::add

Source§

const SHIFT: fn(T) -> T = T::copy_fn

Source§

impl<T: TxOperations> RotateKernel<T> for RotateSubAvg

Source§

const ADD: fn(T, T) -> T = T::sub_avg

Source§

const SUB: fn(T, T) -> T = T::add

Source§

const SHIFT: fn(T) -> T = T::copy_fn

Source§

impl<T: TxOperations> RotateKernel<T> for RotateSubShift

Source§

const ADD: fn(T, T) -> T = T::sub

Source§

const SUB: fn(T, T) -> T = T::add

Source§

const SHIFT: fn(T) -> T = T::rshift1