Skip to main content

Data

Enum Data 

Source
pub enum Data {
    Bool(Buf<u8>),
    I64(Buf<i64>),
    Ext(Buf<Ext>),
    Rat(Buf<Rat>),
    F64(Buf<f64>),
    Complex(Buf<Cx>),
    Char(Buf<char>),
    Box(Buf<Array>),
}

Variants§

§

Bool(Buf<u8>)

§

I64(Buf<i64>)

§

Ext(Buf<Ext>)

Arbitrary-precision integers. Like boxes, these are heap-backed pointers rather than machine words: never foreign, never fused, never vectorised.

§

Rat(Buf<Rat>)

Exact ratios, each in lowest terms. Heap-backed, as Ext is.

§

F64(Buf<f64>)

§

Complex(Buf<Cx>)

Complex numbers, interleaved [re, im] — the layout numpy, C and a pair of Arrow float columns all share.

§

Char(Buf<char>)

§

Box(Buf<Array>)

Boxes: every element is a whole array. Foreign memory never holds these, so a boxed buffer is always owned and cloning it is a refcount bump like any other.

Implementations§

Source§

impl Data

Source

pub fn dtype(&self) -> DType

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn is_foreign(&self) -> bool

True while the payload still borrows foreign memory.

Source

pub fn owner(&self) -> Option<&Owner>

The handle keeping this payload’s memory alive, for a borrowed one. See Buf::owner.

Source

pub fn slice(&self, start: usize, end: usize) -> Data

Source

pub fn empty(dtype: DType) -> Data

Source

pub fn push_fill(&mut self)

The fill element used by overtaking and framing. The boxed fill is J’s a:, a box holding an empty numeric list.

Source

pub fn extend_from(&mut self, other: &Data) -> bool

Source

pub fn interleave(columns: &[Data], rows: usize) -> Option<Data>

Weave column-major buffers into one row-major block of shape [rows, columns.len()].

This is the table boundary: a DataFrame arrives as one buffer per column and libjay works rows-leading, so the elements have to be woven once. The weave reads every column in order and writes its result straight through, split across threads at the sizes that pay.

None when the columns disagree on element type, when one is shorter than rows, or when there are no columns at all — the importing side has already reported that.

Source

pub fn cast(&self, to: DType) -> Option<Data>

Widen to to. Returns None for unsupported conversions.

Trait Implementations§

Source§

impl Clone for Data

Source§

fn clone(&self) -> Data

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Data

Source§

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

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

impl PartialEq for Data

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Data

Auto Trait Implementations§

§

impl !RefUnwindSafe for Data

§

impl !UnwindSafe for Data

§

impl Freeze for Data

§

impl Send for Data

§

impl Sync for Data

§

impl Unpin for Data

§

impl UnsafeUnpin for Data

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

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

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> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,