Skip to main content

ScalarOrVectorOpdImpls

Trait ScalarOrVectorOpdImpls 

Source
pub trait ScalarOrVectorOpdImpls<I: ?Sized + TypeInterfaceMarker + 'static, const N: usize>: Op {
    // Provided methods
    fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypeInterfaceHandle<I> { ... }
    fn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)> { ... }
}
Expand description

An operand whose type either impls I or is VectorType<T: I>.

Provided Methods§

Source

fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypeInterfaceHandle<I>

Get the type of operand N, or its element type if its VectorType.

Source

fn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)>

Get the vector shape of operand N, or None if it is not a VectorType.

Trait Implementations§

Source§

impl<I: ?Sized + TypeInterfaceMarker + 'static, const N: usize> OpInterfaceMarker for dyn ScalarOrVectorOpdImpls<I, N>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FAddOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FCmpOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FDivOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FMulOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FNegOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FPExtOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FPToSIOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FPToUIOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FPTruncOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FRemOp

Source§

impl ScalarOrVectorOpdImpls<dyn FloatTypeInterface, 0> for FSubOp