InsertOperation

Struct InsertOperation 

Source
pub struct InsertOperation<'c> { /* private fields */ }
Expand description

An insert operation. Insert operation.

Inserts an (n - k)-D sub-vector (value-to-store) into an n-D destination vector at a specified k-D position. When n = 0, value-to-store degenerates to a scalar element inserted into the n-D destination vector.

Static and dynamic indices must be greater or equal to zero and less than the size of the corresponding dimension. The result is undefined if any index is out-of-bounds. The value -1 represents a poison index, which specifies that the resulting vector is poison.

Example:

%2 = vector.insert %0, %1[3] : vector<8x16xf32> into vector<4x8x16xf32>
%5 = vector.insert %3, %4[2, 1, 3] : f32 into vector<4x8x16xf32>
%11 = vector.insert %9, %10[%a, %b, %c] : f32 into vector<4x8x16xf32>
%12 = vector.insert %4, %10[2, %b] : vector<16xf32> into vector<4x8x16xf32>
%13 = vector.insert %20, %1[-1, %c] : f32 into vector<4x16xf32>

Implementations§

Source§

impl<'c> InsertOperation<'c>

Source

pub fn name() -> &'static str

Returns a name.

Source

pub fn as_operation(&self) -> &Operation<'c>

Returns a generic operation.

Source

pub fn builder( context: &'c Context, location: Location<'c>, ) -> InsertOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset>

Creates a builder.

Source

pub fn result(&self) -> Result<OperationResult<'c, '_>, Error>

Source

pub fn value_to_store(&self) -> Result<Value<'c, '_>, Error>

Source

pub fn dest(&self) -> Result<Value<'c, '_>, Error>

Source

pub fn dynamic_position(&self) -> impl Iterator<Item = Value<'c, '_>>

Source

pub fn static_position(&self) -> Result<Attribute<'c>, Error>

Source

pub fn set_static_position(&mut self, value: Attribute<'c>)

Trait Implementations§

Source§

impl<'c> Clone for InsertOperation<'c>

Source§

fn clone(&self) -> InsertOperation<'c>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'c> Debug for InsertOperation<'c>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'b> From<InsertOperation<'b>> for VectorDialectOperation<'b>

Source§

fn from(op: InsertOperation<'b>) -> Self

Converts to this type from the input type.
Source§

impl<'c> From<InsertOperation<'c>> for Operation<'c>

Source§

fn from(operation: InsertOperation<'c>) -> Self

Converts to this type from the input type.
Source§

impl<'c> PartialEq for InsertOperation<'c>

Source§

fn eq(&self, other: &InsertOperation<'c>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'c> TryFrom<Operation<'c>> for InsertOperation<'c>

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(operation: Operation<'c>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'c> Eq for InsertOperation<'c>

Source§

impl<'c> StructuralPartialEq for InsertOperation<'c>

Auto Trait Implementations§

§

impl<'c> Freeze for InsertOperation<'c>

§

impl<'c> RefUnwindSafe for InsertOperation<'c>

§

impl<'c> !Send for InsertOperation<'c>

§

impl<'c> !Sync for InsertOperation<'c>

§

impl<'c> Unpin for InsertOperation<'c>

§

impl<'c> UnwindSafe for InsertOperation<'c>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.