Struct GlobalThreadId
#[repr(C)]pub struct GlobalThreadId {
pub x: u32,
pub y: u32,
pub z: u32,
}Expand description
Global thread ID across all blocks.
Fields§
§x: u32X dimension
y: u32Y dimension
z: u32Z dimension
Implementations§
§impl GlobalThreadId
impl GlobalThreadId
pub const fn new(x: u32, y: u32, z: u32) -> GlobalThreadId
pub const fn new(x: u32, y: u32, z: u32) -> GlobalThreadId
Create a new global thread ID.
pub const fn from_block_thread(
block: BlockId,
thread: ThreadId,
block_dim: Dim3,
) -> GlobalThreadId
pub const fn from_block_thread( block: BlockId, thread: ThreadId, block_dim: Dim3, ) -> GlobalThreadId
Calculate global thread ID from block and thread IDs.
pub const fn linear_for_dim(&self, dim_x: u32, dim_y: u32) -> u32
pub const fn linear_for_dim(&self, dim_x: u32, dim_y: u32) -> u32
Get linear index for given grid dimensions.
Trait Implementations§
§impl AsBytes for GlobalThreadIdwhere
u32: AsBytes,
HasPadding<GlobalThreadId, ringkernel_core::::types::{impl#43}::{constant#0}>: ShouldBe<false>,
impl AsBytes for GlobalThreadIdwhere
u32: AsBytes,
HasPadding<GlobalThreadId, ringkernel_core::::types::{impl#43}::{constant#0}>: ShouldBe<false>,
§fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Gets the bytes of this value mutably. Read more
§fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>
fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>
§impl Clone for GlobalThreadId
impl Clone for GlobalThreadId
§fn clone(&self) -> GlobalThreadId
fn clone(&self) -> GlobalThreadId
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for GlobalThreadId
impl Debug for GlobalThreadId
§impl Default for GlobalThreadId
impl Default for GlobalThreadId
§fn default() -> GlobalThreadId
fn default() -> GlobalThreadId
Returns the “default value” for a type. Read more
§impl FromBytes for GlobalThreadIdwhere
u32: FromBytes,
impl FromBytes for GlobalThreadIdwhere
u32: FromBytes,
§fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
§fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>where
Self: Sized,
§fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
§fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>where
Self: Sized + AsBytes,
§fn slice_from(bytes: &[u8]) -> Option<&[Self]>where
Self: Sized,
fn slice_from(bytes: &[u8]) -> Option<&[Self]>where
Self: Sized,
§fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
Interprets the prefix of the given
bytes as a &[Self] with length
equal to count without copying. Read more§fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
Interprets the suffix of the given
bytes as a &[Self] with length
equal to count without copying. Read more§fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>where
Self: Sized + AsBytes,
fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>where
Self: Sized + AsBytes,
§fn mut_slice_from_prefix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: Sized + AsBytes,
fn mut_slice_from_prefix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: Sized + AsBytes,
Interprets the prefix of the given
bytes as a &mut [Self] with length
equal to count without copying. Read more§fn mut_slice_from_suffix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [u8], &mut [Self])>where
Self: Sized + AsBytes,
fn mut_slice_from_suffix(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [u8], &mut [Self])>where
Self: Sized + AsBytes,
Interprets the suffix of the given
bytes as a &mut [Self] with length
equal to count without copying. Read more§fn read_from_prefix(bytes: &[u8]) -> Option<Self>where
Self: Sized,
fn read_from_prefix(bytes: &[u8]) -> Option<Self>where
Self: Sized,
§impl FromZeroes for GlobalThreadIdwhere
u32: FromZeroes,
impl FromZeroes for GlobalThreadIdwhere
u32: FromZeroes,
§impl Hash for GlobalThreadId
impl Hash for GlobalThreadId
§impl PartialEq for GlobalThreadId
impl PartialEq for GlobalThreadId
impl Copy for GlobalThreadId
impl Eq for GlobalThreadId
impl Pod for GlobalThreadId
impl StructuralPartialEq for GlobalThreadId
Auto Trait Implementations§
impl Freeze for GlobalThreadId
impl RefUnwindSafe for GlobalThreadId
impl Send for GlobalThreadId
impl Sync for GlobalThreadId
impl Unpin for GlobalThreadId
impl UnwindSafe for GlobalThreadId
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CallHasher for T
impl<T> CallHasher for T
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.