#[non_exhaustive]pub enum SubgroupOp {
Broadcast,
Add,
Max,
Min,
InclusiveAdd,
ExclusiveAdd,
ShuffleXor,
}Expand description
Canonical subgroup intrinsic operation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Broadcast
Broadcast a value from one subgroup lane to all lanes.
Add
Reduce add across the subgroup.
Max
Reduce max across the subgroup.
Min
Reduce min across the subgroup.
InclusiveAdd
Inclusive scan add across the subgroup.
ExclusiveAdd
Exclusive scan add across the subgroup.
ShuffleXor
Shuffle-xor butterfly swap.
Implementations§
Source§impl SubgroupOp
impl SubgroupOp
Sourcepub const fn all() -> &'static [SubgroupOp]
pub const fn all() -> &'static [SubgroupOp]
Iterate every canonical operation.
Trait Implementations§
Source§impl Clone for SubgroupOp
impl Clone for SubgroupOp
Source§fn clone(&self) -> SubgroupOp
fn clone(&self) -> SubgroupOp
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SubgroupOp
Source§impl Debug for SubgroupOp
impl Debug for SubgroupOp
impl Eq for SubgroupOp
Source§impl Hash for SubgroupOp
impl Hash for SubgroupOp
Source§impl PartialEq for SubgroupOp
impl PartialEq for SubgroupOp
Source§fn eq(&self, other: &SubgroupOp) -> bool
fn eq(&self, other: &SubgroupOp) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SubgroupOp
Auto Trait Implementations§
impl Freeze for SubgroupOp
impl RefUnwindSafe for SubgroupOp
impl Send for SubgroupOp
impl Sync for SubgroupOp
impl Unpin for SubgroupOp
impl UnsafeUnpin for SubgroupOp
impl UnwindSafe for SubgroupOp
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.