pub struct LaneAddr {
pub direction: Direction,
pub move_type: MoveType,
pub word_id: u32,
pub site_id: u32,
pub bus_id: u32,
}Expand description
Bit-packed lane address for atom move operations.
Encodes direction (1 bit), move type (1 bit), word_id (16 bits), site_id (16 bits), and bus_id (16 bits) across two 32-bit data words.
Layout:
- data0:
[word_id:16][site_id:16] - data1:
[dir:1][mt:1][pad:14][bus_id:16]
Fields§
§direction: Direction§move_type: MoveType§word_id: u32§site_id: u32§bus_id: u32Implementations§
Source§impl LaneAddr
impl LaneAddr
Sourcepub fn encode_u64(&self) -> u64
pub fn encode_u64(&self) -> u64
Encode to a single 64-bit packed integer (data0 | (data1 << 32)).
Sourcepub fn decode_u64(bits: u64) -> Self
pub fn decode_u64(bits: u64) -> Self
Decode a 64-bit packed integer into a LaneAddr.
Trait Implementations§
impl Copy for LaneAddr
impl Eq for LaneAddr
impl StructuralPartialEq for LaneAddr
Auto Trait Implementations§
impl Freeze for LaneAddr
impl RefUnwindSafe for LaneAddr
impl Send for LaneAddr
impl Sync for LaneAddr
impl Unpin for LaneAddr
impl UnwindSafe for LaneAddr
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