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§
Auto Trait Implementations§
impl Forget for PositionBlock
impl Freeze for PositionBlock
impl Move for PositionBlock
impl RefUnwindSafe for PositionBlock
impl Send for PositionBlock
impl Sync for PositionBlock
impl Unpin for PositionBlock
impl UnsafeUnpin for PositionBlock
impl UnwindSafe for PositionBlock
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