Trait DialectInstructions

Source
pub trait DialectInstructions<D: Dialect> {
Show 32 methods // Required methods fn compile_instruction_sync_threads(f: &mut Formatter<'_>) -> Result; fn compile_instruction_thread_fence(f: &mut Formatter<'_>) -> Result; fn compile_instruction_find_first_set<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result; fn compile_instruction_leading_zeros_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result; fn compile_instruction_max_function_name( f: &mut Formatter<'_>, item: Item<D>, ) -> Result; fn compile_instruction_min_function_name( f: &mut Formatter<'_>, item: Item<D>, ) -> Result; fn compile_warp_shuffle( f: &mut Formatter<'_>, var: &str, source: &str, ) -> Result; fn compile_warp_shuffle_xor( f: &mut Formatter<'_>, var: &str, elem: &Elem<D>, offset: &str, ) -> Result; fn compile_warp_shuffle_up( f: &mut Formatter<'_>, var: &str, offset: &str, ) -> Result; fn compile_warp_shuffle_down( f: &mut Formatter<'_>, var: &str, offset: &str, ) -> Result; fn compile_warp_all<T: Component<D>>( f: &mut Formatter<'_>, input: &T, ) -> Result; fn compile_warp_any<T: Component<D>>( f: &mut Formatter<'_>, input: &T, ) -> Result; fn compile_warp_ballot( f: &mut Formatter<'_>, input: &Variable<D>, out_elem: &Elem<D>, ) -> Result; // Provided methods fn compile_atomic_add( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_and( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_cas( f: &mut Formatter<'_>, input: &Variable<D>, cmp: &Variable<D>, val: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_load( f: &mut Formatter<'_>, input: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_max( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_min( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_or( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_store( f: &mut Formatter<'_>, input: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_sub( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_swap( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_atomic_xor( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result { ... } fn compile_instruction_printf( f: &mut Formatter<'_>, format_string: &str, args: &[Variable<D>], ) -> Result { ... } fn compile_instruction_log1p_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, ) -> Result { ... } fn compile_instruction_tanh_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, ) -> Result { ... } fn compile_instruction_popcount_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result { ... } fn compile_instruction_reverse_bits_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result { ... } fn compile_instruction_powf(f: &mut Formatter<'_>) -> Result { ... } fn compile_instruction_half_function_name_prefix() -> &'static str { ... } fn compile_instruction_half2_function_name_prefix() -> &'static str { ... }
}

Required Methods§

Source

fn compile_instruction_sync_threads(f: &mut Formatter<'_>) -> Result

Source

fn compile_instruction_thread_fence(f: &mut Formatter<'_>) -> Result

Source

fn compile_instruction_find_first_set<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result

Source

fn compile_instruction_leading_zeros_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result

Source

fn compile_instruction_max_function_name( f: &mut Formatter<'_>, item: Item<D>, ) -> Result

Source

fn compile_instruction_min_function_name( f: &mut Formatter<'_>, item: Item<D>, ) -> Result

Source

fn compile_warp_shuffle( f: &mut Formatter<'_>, var: &str, source: &str, ) -> Result

Source

fn compile_warp_shuffle_xor( f: &mut Formatter<'_>, var: &str, elem: &Elem<D>, offset: &str, ) -> Result

Source

fn compile_warp_shuffle_up( f: &mut Formatter<'_>, var: &str, offset: &str, ) -> Result

Source

fn compile_warp_shuffle_down( f: &mut Formatter<'_>, var: &str, offset: &str, ) -> Result

Source

fn compile_warp_all<T: Component<D>>(f: &mut Formatter<'_>, input: &T) -> Result

Source

fn compile_warp_any<T: Component<D>>(f: &mut Formatter<'_>, input: &T) -> Result

Source

fn compile_warp_ballot( f: &mut Formatter<'_>, input: &Variable<D>, out_elem: &Elem<D>, ) -> Result

Provided Methods§

Source

fn compile_atomic_add( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_and( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_cas( f: &mut Formatter<'_>, input: &Variable<D>, cmp: &Variable<D>, val: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_load( f: &mut Formatter<'_>, input: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_max( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_min( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_or( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_store( f: &mut Formatter<'_>, input: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_sub( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_swap( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_atomic_xor( f: &mut Formatter<'_>, lhs: &Variable<D>, rhs: &Variable<D>, out: &Variable<D>, ) -> Result

Source

fn compile_instruction_printf( f: &mut Formatter<'_>, format_string: &str, args: &[Variable<D>], ) -> Result

Source

fn compile_instruction_log1p_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, ) -> Result

Source

fn compile_instruction_tanh_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, ) -> Result

Source

fn compile_instruction_popcount_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result

Source

fn compile_instruction_reverse_bits_scalar<T: Component<D>>( f: &mut Formatter<'_>, input: T, out_elem: Elem<D>, ) -> Result

Source

fn compile_instruction_powf(f: &mut Formatter<'_>) -> Result

Source

fn compile_instruction_half_function_name_prefix() -> &'static str

Source

fn compile_instruction_half2_function_name_prefix() -> &'static str

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§