pub struct ScalableExtractOperation<'c> { /* private fields */ }Expand description
A scalable.extract operation. Extract subvector from scalable vector operation.
Takes rank-1 source vector and a position pos within the source
vector, and extracts a subvector starting from that position.
The extraction position must be a multiple of the minimum size of the result vector. For the operation to be well defined, the destination vector must fit within the source vector from the specified position. Since the source vector is scalable and its runtime length is unknown, the validity of the operation can’t be verified nor guaranteed at compile time.
Example:
%1 = vector.scalable.extract %0[8] : vector<4xf32> from vector<[8]xf32>
%3 = vector.scalable.extract %2[0] : vector<[4]xf32> from vector<[8]xf32>Invalid example:
%1 = vector.scalable.extract %0[5] : vector<4xf32> from vector<[16]xf32>Implementations§
Source§impl<'c> ScalableExtractOperation<'c>
impl<'c> ScalableExtractOperation<'c>
Sourcepub fn as_operation(&self) -> &Operation<'c>
pub fn as_operation(&self) -> &Operation<'c>
Returns a generic operation.
Sourcepub fn builder(
context: &'c Context,
location: Location<'c>,
) -> ScalableExtractOperationBuilder<'c, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c>, ) -> ScalableExtractOperationBuilder<'c, Unset, Unset, Unset>
Creates a builder.
pub fn result(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn source(&self) -> Result<Value<'c, '_>, Error>
pub fn pos(&self) -> Result<IntegerAttribute<'c>, Error>
pub fn set_pos(&mut self, value: IntegerAttribute<'c>)
Trait Implementations§
Source§impl<'c> Clone for ScalableExtractOperation<'c>
impl<'c> Clone for ScalableExtractOperation<'c>
Source§fn clone(&self) -> ScalableExtractOperation<'c>
fn clone(&self) -> ScalableExtractOperation<'c>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'c> Debug for ScalableExtractOperation<'c>
impl<'c> Debug for ScalableExtractOperation<'c>
Source§impl<'b> From<ScalableExtractOperation<'b>> for VectorDialectOperation<'b>
impl<'b> From<ScalableExtractOperation<'b>> for VectorDialectOperation<'b>
Source§fn from(op: ScalableExtractOperation<'b>) -> Self
fn from(op: ScalableExtractOperation<'b>) -> Self
Converts to this type from the input type.
Source§impl<'c> From<ScalableExtractOperation<'c>> for Operation<'c>
impl<'c> From<ScalableExtractOperation<'c>> for Operation<'c>
Source§fn from(operation: ScalableExtractOperation<'c>) -> Self
fn from(operation: ScalableExtractOperation<'c>) -> Self
Converts to this type from the input type.
Source§impl<'c> PartialEq for ScalableExtractOperation<'c>
impl<'c> PartialEq for ScalableExtractOperation<'c>
Source§fn eq(&self, other: &ScalableExtractOperation<'c>) -> bool
fn eq(&self, other: &ScalableExtractOperation<'c>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<'c> TryFrom<Operation<'c>> for ScalableExtractOperation<'c>
impl<'c> TryFrom<Operation<'c>> for ScalableExtractOperation<'c>
impl<'c> Eq for ScalableExtractOperation<'c>
impl<'c> StructuralPartialEq for ScalableExtractOperation<'c>
Auto Trait Implementations§
impl<'c> Freeze for ScalableExtractOperation<'c>
impl<'c> RefUnwindSafe for ScalableExtractOperation<'c>
impl<'c> !Send for ScalableExtractOperation<'c>
impl<'c> !Sync for ScalableExtractOperation<'c>
impl<'c> Unpin for ScalableExtractOperation<'c>
impl<'c> UnwindSafe for ScalableExtractOperation<'c>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more