#[repr(C)]pub struct DLDataType {
pub code: u8,
pub bits: u8,
pub lanes: u16,
}Expand description
\brief 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 = 1
- float4(vectorized 4 float): type_code = 2, bits = 32, lanes = 4
- int8: type_code = 0, bits = 8, lanes = 1
- std::complex
: type_code = 5, bits = 64, lanes = 1 - bool: type_code = 6, bits = 8, lanes = 1 (as per common array library convention, the underlying storage size of bool is 8 bits)
Fields§
§code: u8\brief Type 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: u8\brief Number of bits, common choices are 8, 16, 32.
lanes: u16\brief Number of lanes in the type, used for vector types.
Implementations§
Trait Implementations§
Source§impl CopyNew for DLDataType
impl CopyNew for DLDataType
Source§unsafe fn copy_new(other: &DLDataType, this: Pin<&mut MaybeUninit<DLDataType>>)
unsafe fn copy_new(other: &DLDataType, this: Pin<&mut MaybeUninit<DLDataType>>)
Synthesized copy constructor.
Source§impl Drop for DLDataType
impl Drop for DLDataType
Source§fn drop(self: &mut DLDataType)
fn drop(self: &mut DLDataType)
Synthesized destructor.
Source§impl ExternType for DLDataType
impl ExternType for DLDataType
Source§impl MakeCppStorage for DLDataType
impl MakeCppStorage for DLDataType
Source§unsafe fn allocate_uninitialized_cpp_storage() -> *mut DLDataType
unsafe fn allocate_uninitialized_cpp_storage() -> *mut DLDataType
Allocates heap space for this type in C++ and return a pointer
to that space, but do not initialize that space (i.e. do not
yet call a constructor). Read more
Source§unsafe fn free_uninitialized_cpp_storage(arg0: *mut DLDataType)
unsafe fn free_uninitialized_cpp_storage(arg0: *mut DLDataType)
Frees a C++ allocation which has not yet
had a constructor called. Read more
Source§impl MoveNew for DLDataType
impl MoveNew for DLDataType
Source§unsafe fn move_new(
other: Pin<MoveRef<'_, DLDataType>>,
this: Pin<&mut MaybeUninit<DLDataType>>,
)
unsafe fn move_new( other: Pin<MoveRef<'_, DLDataType>>, this: Pin<&mut MaybeUninit<DLDataType>>, )
Synthesized move constructor.
impl UniquePtrTarget for DLDataType
impl VectorElement for DLDataType
impl WeakPtrTarget 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 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