Enum npyz::DType

source ·
pub enum DType {
    Plain(TypeStr),
    Array(u64, Box<DType>),
    Record(Vec<Field>),
}
Expand description

Representation of a Numpy type

Variants§

§

Plain(TypeStr)

Numpy type string. First character is '>' for big endian, '<' for little endian, or can be '|' if it doesn’t matter.

Examples: >i4, <u8, >f8, |S7. The number usually corresponds to the number of bytes (with the single exception of unicode strings |U3).

§

Array(u64, Box<DType>)

Fixed-size inner array type.

This is only possible inside structured arrays, where fields can themselves be arrays. E.g. in the DType for dtype=[('abc', 'i4', [2, 3])], the DType for abc will be Array(2, Array(3, Plain("<i4"))). In rust, such an array could be read using the following element type:

#[derive(npyz::Serialize, npyz::Deserialize, npyz::AutoSerialize)]
struct Row {
    abc: [[i32; 3]; 2],
}
§

Record(Vec<Field>)

A structure record array

Implementations§

source§

impl DType

source

pub fn descr(&self) -> String

Numpy format description of record dtype.

Calling descr on DType::Array will not produce a valid python expression (the string will only be suitable for error messages).

source

pub fn new_scalar(ty: TypeStr) -> Self

Construct a scalar DType. (one which is not a nested array or record type)

source

pub fn num_bytes(&self) -> Option<usize>

Get the number of bytes that each item of this type occupies.

If this value overflows the plaform’s usize datatype, returns None.

Trait Implementations§

source§

impl Clone for DType

source§

fn clone(&self) -> DType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for DType

source§

fn eq(&self, other: &DType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for DType

source§

impl StructuralEq for DType

source§

impl StructuralPartialEq for DType

Auto Trait Implementations§

§

impl RefUnwindSafe for DType

§

impl Send for DType

§

impl Sync for DType

§

impl Unpin for DType

§

impl UnwindSafe for DType

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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.