Skip to main content

PositionBlock

Struct PositionBlock 

Source
pub struct PositionBlock {
    pub n_frames: usize,
    pub n_atoms: usize,
    pub values: Vec<f64>,
}
Expand description

Positions of every frame, one row-major f64 buffer.

A parse failure is the error::LocatedParseError from the boundary scan or the span parse that failed. The path is not opened again.

The boundary walk records each frame start. Each worker then parses only its span and writes that frame’s coordinates at frame * n_atoms * 3. The returned buffer is the only retained coordinate storage. A file whose frames do not share one atom count is rejected, because the buffer is rectangular. Rectangular coordinates for every frame of one file.

values is row-major x, y, z, index frame * n_atoms * 3 + atom * 3. That Vec is the only coordinate allocation. Python read_positions moves it into the NumPy array and does not copy the doubles again.

Fields§

§n_frames: usize§n_atoms: usize§values: Vec<f64>

Trait Implementations§

Source§

impl Debug for PositionBlock

Source§

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

Formats the value using the given formatter. Read more

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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.