pub struct MeetOperation<'c> { /* private fields */ }
Expand description
A meet
operation. Returns the least general shape or size of its operands.
An operation that computes the least general shape or dim of input operands. This effectively asserts that corresponding static dimensions are equal. The behavior is to match each element of the shape/size and propagate the most restrictive information, returning an invalid shape if there are contradictory requirements. E.g., using pseudo code
shape.meet([*], [*]) -> [*]
shape.meet([*], [1, ?]) -> [1, ?]
shape.meet([1, 2], [1, ?]) -> [1, 2]
shape.meet([*], [1, 2]) -> [1, 2]
shape.meet([], []) -> []
shape.meet([], [*]) -> []
shape.meet([], [?, ?]) -> [invalid]
shape.meet([1, ?], [2, ?, ?]) -> [invalid]
shape.meet
also allows specifying an optional error string, that may be
used to return an error to the user upon mismatch of dimensions.
%c = shape.meet %a, %b, error="<reason>" : !shape.shape, !shape.shape -> !shape.shape
Implementations§
source§impl<'c> MeetOperation<'c>
impl<'c> MeetOperation<'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>
) -> MeetOperationBuilder<'c, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> MeetOperationBuilder<'c, Unset, Unset>
Creates a builder.
pub fn result(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn arg_0(&self) -> Result<Value<'c, '_>, Error>
pub fn arg_1(&self) -> Result<Value<'c, '_>, Error>
pub fn error(&self) -> Result<StringAttribute<'c>, Error>
pub fn set_error(&mut self, value: StringAttribute<'c>)
pub fn remove_error(&mut self) -> Result<(), Error>
Trait Implementations§
source§impl<'c> From<MeetOperation<'c>> for Operation<'c>
impl<'c> From<MeetOperation<'c>> for Operation<'c>
source§fn from(operation: MeetOperation<'c>) -> Self
fn from(operation: MeetOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for MeetOperation<'c>
impl<'c> !Send for MeetOperation<'c>
impl<'c> !Sync for MeetOperation<'c>
impl<'c> Unpin for MeetOperation<'c>
impl<'c> UnwindSafe for MeetOperation<'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