Struct rest_tensors::eri::ERIFull
source · pub struct ERIFull<T> {
pub size: [usize; 4],
pub indicing: [usize; 4],
pub data: Vec<T>,
}
Fields§
§size: [usize; 4]
Coloum-major 4-D ERI designed for quantum chemistry calculations specifically.
indicing: [usize; 4]
§data: Vec<T>
Implementations§
source§impl<T: Clone + Display + Send + Sync> ERIFull<T>
impl<T: Clone + Display + Send + Sync> ERIFull<T>
pub fn new(size: [usize; 4], new_default: T) -> ERIFull<T>
pub unsafe fn from_vec_unchecked( size: [usize; 4], new_vec: Vec<T> ) -> ERIFull<T>
pub fn from_vec(size: [usize; 4], new_vec: Vec<T>) -> Option<ERIFull<T>>
pub fn get_reducing_matrix_mut( &mut self, i_reduced: &[usize; 2] ) -> MatrixFullSliceMut<'_, T>
pub fn get_reducing_matrix( &self, i_reduced: &[usize; 2] ) -> MatrixFullSlice<'_, T>
pub fn chrunk_copy(&mut self, range: [Range<usize>; 4], buf: Vec<T>)
pub fn chrunk_copy_transpose_ij( &mut self, range: [Range<usize>; 4], buf: Vec<T> )
Trait Implementations§
source§impl<T: PartialEq> PartialEq<ERIFull<T>> for ERIFull<T>
impl<T: PartialEq> PartialEq<ERIFull<T>> for ERIFull<T>
source§impl<T> TensorOpt<T> for ERIFull<T>
impl<T> TensorOpt<T> for ERIFull<T>
Implementation of the traits for specific tensor structures
source§impl<'a, T> TensorOptMut<'a, T> for ERIFull<T>
impl<'a, T> TensorOptMut<'a, T> for ERIFull<T>
fn get1d_mut(&mut self, position: usize) -> Option<&mut T>
fn get4d_mut(&mut self, position: [usize; 4]) -> Option<&mut T>
fn get_mut(&mut self, position: &[usize]) -> Option<&mut T>
fn set1d(&mut self, position: usize, new_data: T)
fn set4d(&mut self, position: [usize; 4], new_data: T)
fn set(&mut self, position: &[usize], new_data: T)
fn get2d_mut(&mut self, position: [usize; 2]) -> Option<&mut T>
fn get3d_mut(&mut self, position: [usize; 3]) -> Option<&mut T>
fn set2d(&mut self, position: [usize; 2], new_data: T)
fn set3d(&mut self, position: [usize; 3], new_data: T)
source§impl<T> TensorSlice<T> for ERIFull<T>
impl<T> TensorSlice<T> for ERIFull<T>
fn get1d_slice(&self, position: usize, length: usize) -> Option<&[T]>
fn get4d_slice(&self, position: [usize; 4], length: usize) -> Option<&[T]>
fn get_slice(&self, position: &[usize], length: usize) -> Option<&[T]>
fn get2d_slice(&self, position: [usize; 2], length: usize) -> Option<&[T]>
fn get3d_slice(&self, position: [usize; 3], length: usize) -> Option<&[T]>
source§impl<'a, T> TensorSliceMut<'a, T> for ERIFull<T>
impl<'a, T> TensorSliceMut<'a, T> for ERIFull<T>
fn get1d_slice_mut( &mut self, position: usize, length: usize ) -> Option<&mut [T]>
fn get4d_slice_mut( &mut self, position: [usize; 4], length: usize ) -> Option<&mut [T]>
fn get_slice_mut( &mut self, position: &[usize], length: usize ) -> Option<&mut [T]>
fn get2d_slice_mut( &mut self, position: [usize; 2], length: usize ) -> Option<&mut [T]>
fn get3d_slice_mut( &mut self, position: [usize; 3], length: usize ) -> Option<&mut [T]>
impl<T> StructuralPartialEq for ERIFull<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for ERIFull<T>where T: RefUnwindSafe,
impl<T> Send for ERIFull<T>where T: Send,
impl<T> Sync for ERIFull<T>where T: Sync,
impl<T> Unpin for ERIFull<T>where T: Unpin,
impl<T> UnwindSafe for ERIFull<T>where T: UnwindSafe,
Blanket Implementations§
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.