Skip to main content

ScalarOrVectorOpd

Trait ScalarOrVectorOpd 

Source
pub trait ScalarOrVectorOpd<T: Type, const N: usize>: Op {
    // Provided methods
    fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypedHandle<T> { ... }
    fn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)> { ... }
}
Expand description

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

Provided Methods§

Source

fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypedHandle<T>

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<T: Type, const N: usize> OpInterfaceMarker for dyn ScalarOrVectorOpd<T, N>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for AShrOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for AddOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for AndOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for LShrOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for MulOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for OrOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for SDivOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for SExtOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for SIToFPOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for SRemOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for ShlOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for SubOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for TruncOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for UDivOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for UIToFPOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for URemOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for XorOp

Source§

impl ScalarOrVectorOpd<IntegerType, 0> for ZExtOp