DLDataType

Struct DLDataType 

Source
#[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§

Source§

impl DLDataType

Source

pub fn new() -> impl New<Output = Self>

Synthesized default constructor.

Trait Implementations§

Source§

impl CopyNew for DLDataType

Source§

unsafe fn copy_new(other: &DLDataType, this: Pin<&mut MaybeUninit<DLDataType>>)

Synthesized copy constructor.

Source§

impl Drop for DLDataType

Source§

fn drop(self: &mut DLDataType)

Synthesized destructor.

Source§

impl ExternType for DLDataType

Source§

type Id = (D, L, D, a, t, a, T, y, p, e)

A type-level representation of the type’s C++ namespace and type name. Read more
Source§

type Kind = Trivial

Source§

impl MakeCppStorage for DLDataType

Source§

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)

Frees a C++ allocation which has not yet had a constructor called. Read more
Source§

impl MoveNew for DLDataType

Source§

unsafe fn move_new( other: Pin<MoveRef<'_, DLDataType>>, this: Pin<&mut MaybeUninit<DLDataType>>, )

Synthesized move constructor.

Source§

impl SharedPtrTarget for DLDataType

Source§

impl UniquePtrTarget for DLDataType

Source§

impl VectorElement for DLDataType

Source§

impl WeakPtrTarget for DLDataType

Auto Trait Implementations§

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> 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, 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<T> WithinBoxTrivial for T
where T: ExternType<Kind = Trivial> + Unpin,

Source§

fn within_box(self) -> Pin<Box<T>>

Source§

impl<T> WithinUniquePtrTrivial for T
where T: UniquePtrTarget + ExternType<Kind = Trivial> + Unpin,