Enum Variable

Source
pub enum Variable<D: Dialect> {
Show 49 variants AbsolutePos, AbsolutePosBaseName, AbsolutePosX, AbsolutePosY, AbsolutePosZ, UnitPos, UnitPosBaseName, UnitPosX, UnitPosY, UnitPosZ, CubePos, CubePosBaseName, CubePosX, CubePosY, CubePosZ, CubeDim, CubeDimBaseName, CubeDimX, CubeDimY, CubeDimZ, CubeCount, CubeCountBaseName, CubeCountX, CubeCountY, CubeCountZ, PlaneDim, PlaneDimChecked, PlanePos, UnitPosPlane, ClusterRank, ClusterIndexX, ClusterIndexY, ClusterIndexZ, GlobalInputArray(Id, Item<D>), GlobalOutputArray(Id, Item<D>), GlobalScalar { id: Id, elem: Elem<D>, in_struct: bool, }, ConstantArray(Id, Item<D>, u32), ConstantScalar(ConstantScalarValue, Elem<D>), TensorMap(Id), LocalMut { id: Id, item: Item<D>, }, LocalConst { id: Id, item: Item<D>, }, Named { name: &'static str, item: Item<D>, }, Slice { id: Id, item: Item<D>, }, SharedMemory(Id, Item<D>, u32), LocalArray(Id, Item<D>, u32), WmmaFragment { id: Id, frag: Fragment<D>, }, Pipeline { id: Id, item: Item<D>, }, Barrier { id: Id, item: Item<D>, level: BarrierLevel, }, Tmp { id: Id, item: Item<D>, },
}

Variants§

§

AbsolutePos

§

AbsolutePosBaseName

§

AbsolutePosX

§

AbsolutePosY

§

AbsolutePosZ

§

UnitPos

§

UnitPosBaseName

§

UnitPosX

§

UnitPosY

§

UnitPosZ

§

CubePos

§

CubePosBaseName

§

CubePosX

§

CubePosY

§

CubePosZ

§

CubeDim

§

CubeDimBaseName

§

CubeDimX

§

CubeDimY

§

CubeDimZ

§

CubeCount

§

CubeCountBaseName

§

CubeCountX

§

CubeCountY

§

CubeCountZ

§

PlaneDim

§

PlaneDimChecked

§

PlanePos

§

UnitPosPlane

§

ClusterRank

§

ClusterIndexX

§

ClusterIndexY

§

ClusterIndexZ

§

GlobalInputArray(Id, Item<D>)

§

GlobalOutputArray(Id, Item<D>)

§

GlobalScalar

Fields

§id: Id
§elem: Elem<D>
§in_struct: bool
§

ConstantArray(Id, Item<D>, u32)

§

ConstantScalar(ConstantScalarValue, Elem<D>)

§

TensorMap(Id)

§

LocalMut

Fields

§id: Id
§item: Item<D>
§

LocalConst

Fields

§id: Id
§item: Item<D>
§

Named

Fields

§name: &'static str
§item: Item<D>
§

Slice

Fields

§id: Id
§item: Item<D>
§

SharedMemory(Id, Item<D>, u32)

§

LocalArray(Id, Item<D>, u32)

§

WmmaFragment

Fields

§id: Id
§frag: Fragment<D>
§

Pipeline

Fields

§id: Id
§item: Item<D>
§

Barrier

Fields

§id: Id
§item: Item<D>
§

Tmp

Fields

§id: Id
§item: Item<D>

Implementations§

Source§

impl<D: Dialect> Variable<D>

Source

pub fn is_optimized(&self) -> bool

Source

pub fn tmp(item: Item<D>) -> Self

Source

pub fn optimized_args<const N: usize>(args: [Self; N]) -> OptimizedArgs<N, D>

Source

pub fn optimized(&self) -> Self

Source

pub fn is_always_scalar(&self) -> bool

Source

pub fn index(&self, index: usize) -> IndexedVariable<D>

Source

pub fn const_qualifier(&self) -> &str

Source

pub fn id(&self) -> Option<Id>

Source

pub fn fmt_ptr(&self) -> String

Format variable for a pointer argument. Slices and buffers are already pointers, so we just leave them as is to avoid accidental double pointers

Source§

impl<D: Dialect> Variable<D>

Trait Implementations§

Source§

impl<D: Clone + Dialect> Clone for Variable<D>

Source§

fn clone(&self) -> Variable<D>

Returns a copy 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<D: Dialect> Component<D> for Variable<D>

Source§

fn index(&self, index: usize) -> IndexedVariable<D>

Source§

fn item(&self) -> Item<D>

Source§

fn is_const(&self) -> bool

Source§

fn elem(&self) -> Elem<D>

Source§

impl<D: Debug + Dialect> Debug for Variable<D>

Source§

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

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

impl<D: Dialect> Display for Variable<D>

Source§

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

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

impl<D: Dialect> FmtLeft for Variable<D>

Source§

impl<D: Dialect> From<&Variable<D>> for AddressSpace

Source§

fn from(value: &Variable<D>) -> Self

Converts to this type from the input type.
Source§

impl<D: PartialEq + Dialect> PartialEq for Variable<D>

Source§

fn eq(&self, other: &Variable<D>) -> 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<D: Copy + Dialect> Copy for Variable<D>

Source§

impl<D: Dialect> StructuralPartialEq for Variable<D>

Auto Trait Implementations§

§

impl<D> Freeze for Variable<D>

§

impl<D> RefUnwindSafe for Variable<D>
where D: RefUnwindSafe,

§

impl<D> Send for Variable<D>

§

impl<D> Sync for Variable<D>

§

impl<D> Unpin for Variable<D>
where D: Unpin,

§

impl<D> UnwindSafe for Variable<D>
where D: UnwindSafe,

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V