Struct DLDataType
#[repr(C)]pub struct DLDataType {
pub code: DLDataTypeCode,
pub bits: u8,
pub lanes: u16,
}Expand description
The data type the tensor can hold. The data type is assumed to follow the native endian-ness. An explicit error message should be raised when attempting to export an array with non-native endianness
Examples
float: type_code = 2, bits = 32, lanes = 1float4(vectorized 4 float): type_code = 2, bits = 32, lanes = 4int8: type_code = 0, bits = 8, lanes = 1std::complex<float>: type_code = 5, bits = 64, lanes = 1bool: type_code = 6, bits = 8, lanes = 1 (as per common array library convention, the underlying storage size of bool is 8 bits)- float8_e4m3: type_code = 8, bits = 8, lanes = 1 (packed in memory)
- float6_e3m2fn: type_code = 16, bits = 6, lanes = 1 (packed in memory)
- float4_e2m1fn: type_code = 17, bits = 4, lanes = 1 (packed in memory)
When a sub-byte type is packed, DLPack requires the data to be in little bit-endian, i.e., for a packed data set D ((D >> (i * bits)) && bit_mask) stores the i-th element.
Fields§
§code: DLDataTypeCodeType code of base types. We keep it uint8_t instead of DLDataTypeCode for minimal memory footprint, but the value should be one of DLDataTypeCode enum values.
bits: u8Number of bits, common choices are 8, 16, 32.
lanes: u16Number of lanes in the type, used for vector types.
Trait Implementations§
§impl Clone for DLDataType
impl Clone for DLDataType
§fn clone(&self) -> DLDataType
fn clone(&self) -> DLDataType
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 DLDataType
§impl Debug for DLDataType
impl Debug for DLDataType
§impl Display for DLDataType
impl Display for DLDataType
impl Eq for DLDataType
§impl PartialEq for DLDataType
impl PartialEq for DLDataType
impl StructuralPartialEq for DLDataType
Auto Trait Implementations§
impl Freeze for DLDataType
impl RefUnwindSafe for DLDataType
impl Send for DLDataType
impl Sync for DLDataType
impl Unpin for DLDataType
impl UnsafeUnpin for DLDataType
impl UnwindSafe for DLDataType
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