diffusion_rs_common::core::op

Trait BinaryOpT

Source
pub trait BinaryOpT {
Show 14 associated constants and 22 methods const NAME: &'static str; const KERNEL: &'static str; const V: Self; const BF16_VEC: bool = false; const F16_VEC: bool = false; const F32_VEC: bool = false; const F64_VEC: bool = false; const F8E4M3_VEC: bool = false; const I8_VEC: bool = false; const U8_VEC: bool = false; const U32_VEC: bool = false; const I64_VEC: bool = false; const I32_VEC: bool = false; const I16_VEC: bool = false; // Required methods fn bf16(v1: bf16, v2: bf16) -> bf16; fn f16(v1: f16, v2: f16) -> f16; fn f32(v1: f32, v2: f32) -> f32; fn f64(v1: f64, v2: f64) -> f64; fn f8e4m3(v1: F8E4M3, v2: F8E4M3) -> F8E4M3; fn i8(v1: i8, v2: i8) -> i8; fn u8(v1: u8, v2: u8) -> u8; fn u32(v1: u32, v2: u32) -> u32; fn i16(v1: i16, v2: i16) -> i16; fn i32(v1: i32, v2: i32) -> i32; fn i64(v1: i64, v2: i64) -> i64; // Provided methods fn bf16_vec(_xs1: &[bf16], _xs2: &[bf16], _ys: &mut [bf16]) { ... } fn f16_vec(_xs1: &[f16], _xs2: &[f16], _ys: &mut [f16]) { ... } fn f32_vec(_xs1: &[f32], _xs2: &[f32], _ys: &mut [f32]) { ... } fn f64_vec(_xs1: &[f64], _xs2: &[f64], _ys: &mut [f64]) { ... } fn f8e4m3_vec(_xs1: &[F8E4M3], __xs2: &[F8E4M3], _ys: &mut [F8E4M3]) { ... } fn i8_vec(_xs1: &[i8], _xs2: &[i8], _ys: &mut [i8]) { ... } fn u8_vec(_xs1: &[u8], _xs2: &[u8], _ys: &mut [u8]) { ... } fn u32_vec(_xs1: &[u32], _xs2: &[u32], _ys: &mut [u32]) { ... } fn i64_vec(_xs1: &[i64], _xs2: &[i64], _ys: &mut [i64]) { ... } fn i32_vec(_xs1: &[i32], _xs2: &[i32], _ys: &mut [i32]) { ... } fn i16_vec(_xs1: &[i16], _xs2: &[i16], _ys: &mut [i16]) { ... }
}

Required Associated Constants§

Source

const NAME: &'static str

Source

const KERNEL: &'static str

Source

const V: Self

Provided Associated Constants§

Source

const BF16_VEC: bool = false

Source

const F16_VEC: bool = false

Source

const F32_VEC: bool = false

Source

const F64_VEC: bool = false

Source

const F8E4M3_VEC: bool = false

Source

const I8_VEC: bool = false

Source

const U8_VEC: bool = false

Source

const U32_VEC: bool = false

Source

const I64_VEC: bool = false

Source

const I32_VEC: bool = false

Source

const I16_VEC: bool = false

Required Methods§

Source

fn bf16(v1: bf16, v2: bf16) -> bf16

Source

fn f16(v1: f16, v2: f16) -> f16

Source

fn f32(v1: f32, v2: f32) -> f32

Source

fn f64(v1: f64, v2: f64) -> f64

Source

fn f8e4m3(v1: F8E4M3, v2: F8E4M3) -> F8E4M3

Source

fn i8(v1: i8, v2: i8) -> i8

Source

fn u8(v1: u8, v2: u8) -> u8

Source

fn u32(v1: u32, v2: u32) -> u32

Source

fn i16(v1: i16, v2: i16) -> i16

Source

fn i32(v1: i32, v2: i32) -> i32

Source

fn i64(v1: i64, v2: i64) -> i64

Provided Methods§

Source

fn bf16_vec(_xs1: &[bf16], _xs2: &[bf16], _ys: &mut [bf16])

Source

fn f16_vec(_xs1: &[f16], _xs2: &[f16], _ys: &mut [f16])

Source

fn f32_vec(_xs1: &[f32], _xs2: &[f32], _ys: &mut [f32])

Source

fn f64_vec(_xs1: &[f64], _xs2: &[f64], _ys: &mut [f64])

Source

fn f8e4m3_vec(_xs1: &[F8E4M3], __xs2: &[F8E4M3], _ys: &mut [F8E4M3])

Source

fn i8_vec(_xs1: &[i8], _xs2: &[i8], _ys: &mut [i8])

Source

fn u8_vec(_xs1: &[u8], _xs2: &[u8], _ys: &mut [u8])

Source

fn u32_vec(_xs1: &[u32], _xs2: &[u32], _ys: &mut [u32])

Source

fn i64_vec(_xs1: &[i64], _xs2: &[i64], _ys: &mut [i64])

Source

fn i32_vec(_xs1: &[i32], _xs2: &[i32], _ys: &mut [i32])

Source

fn i16_vec(_xs1: &[i16], _xs2: &[i16], _ys: &mut [i16])

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§