pub struct IntorCrossArgsBuilder<'l, F> {
intor: Option<&'l str>,
mols: Option<&'l [&'l CInt]>,
shls_slice: Option<&'l [[usize; 2]]>,
aosym: Option<CIntSymm>,
out: Option<Option<&'l mut [F]>>,
row_major: Option<bool>,
}Expand description
Builder for IntorCrossArgs.
Fields§
§intor: Option<&'l str>Integrator name, such as "int1e_ovlp", "int2e", etc.
mols: Option<&'l [&'l CInt]>Molecules for which the integral will be evaluated.
The length of molecules must be accordance with the shls_slice and
number of centers of integrator.
shls_slice: Option<&'l [[usize; 2]]>Shell slices for evaluating sub-tensor of the total integral.
aosym: Option<CIntSymm>Symmetry of the integral. This will affect shape of output tensor.
out: Option<Option<&'l mut [F]>>Output buffer for the integral evaluation.
If this is None, the integral engine will generate a buffer for
output.
row_major: Option<bool>Col-major or row-major output buffer (col-major default).
- Col-major: the same data layout to PySCF’s 2/3-center integrals; shape presented in col-major.
- Row-major: the same shape to PySCF’s integrals; shape presented in row-major.
Implementations§
Source§impl<'l, F> IntorCrossArgsBuilder<'l, F>
impl<'l, F> IntorCrossArgsBuilder<'l, F>
Sourcepub fn intor<VALUE: Into<&'l str>>(self, value: VALUE) -> Self
pub fn intor<VALUE: Into<&'l str>>(self, value: VALUE) -> Self
Integrator name, such as "int1e_ovlp", "int2e", etc.
Sourcepub fn mols(self, value: &'l [&'l CInt]) -> Self
pub fn mols(self, value: &'l [&'l CInt]) -> Self
Molecules for which the integral will be evaluated.
The length of molecules must be accordance with the shls_slice and
number of centers of integrator.
Sourcepub fn shls_slice(self, value: &'l [[usize; 2]]) -> Self
pub fn shls_slice(self, value: &'l [[usize; 2]]) -> Self
Shell slices for evaluating sub-tensor of the total integral.
Sourcepub fn aosym<VALUE: Into<CIntSymm>>(self, value: VALUE) -> Self
pub fn aosym<VALUE: Into<CIntSymm>>(self, value: VALUE) -> Self
Symmetry of the integral. This will affect shape of output tensor.
Sourcepub fn out(self, value: &'l mut [F]) -> Self
pub fn out(self, value: &'l mut [F]) -> Self
Output buffer for the integral evaluation.
If this is None, the integral engine will generate a buffer for
output.
Sourcepub fn row_major(self, value: bool) -> Self
pub fn row_major(self, value: bool) -> Self
Col-major or row-major output buffer (col-major default).
- Col-major: the same data layout to PySCF’s 2/3-center integrals; shape presented in col-major.
- Row-major: the same shape to PySCF’s integrals; shape presented in row-major.
Sourcepub fn build(self) -> Result<IntorCrossArgs<'l, F>, CIntError>
pub fn build(self) -> Result<IntorCrossArgs<'l, F>, CIntError>
Sourcefn create_empty() -> Self
fn create_empty() -> Self
Create an empty builder, with all fields set to None or PhantomData.
Trait Implementations§
Auto Trait Implementations§
impl<'l, F> Freeze for IntorCrossArgsBuilder<'l, F>
impl<'l, F> RefUnwindSafe for IntorCrossArgsBuilder<'l, F>where
F: RefUnwindSafe,
impl<'l, F> Send for IntorCrossArgsBuilder<'l, F>where
F: Send,
impl<'l, F> Sync for IntorCrossArgsBuilder<'l, F>where
F: Sync,
impl<'l, F> Unpin for IntorCrossArgsBuilder<'l, F>
impl<'l, F> !UnwindSafe for IntorCrossArgsBuilder<'l, F>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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