pub struct PreparedStructuralSpectrum { /* private fields */ }Expand description
Reusable native fixed-wavelength spectrum for one structural phase.
Implementations§
Source§impl PreparedStructuralSpectrum
impl PreparedStructuralSpectrum
Sourcepub fn new(
definition: &StructuralPhaseDefinition,
wavelengths_angstrom: Vec<f64>,
relative_intensities: &[f64],
execution: ExecutionPolicy,
) -> Result<Self, StructuralSpectrumError>
pub fn new( definition: &StructuralPhaseDefinition, wavelengths_angstrom: Vec<f64>, relative_intensities: &[f64], execution: ExecutionPolicy, ) -> Result<Self, StructuralSpectrumError>
Prepare every wavelength component from one base structural phase.
Relative intensities are normalized to unit sum and multiply the base phase scale. All prepared components share the policy’s persistent pool.
§Errors
Returns StructuralSpectrumError for invalid component arrays or an
invalid structural phase.
Sourcepub fn component_count(&self) -> usize
pub fn component_count(&self) -> usize
Return the number of prepared wavelength components.
Sourcepub fn normalized_weights(&self) -> &[f64]
pub fn normalized_weights(&self) -> &[f64]
Return normalized component weights in input order.
Sourcepub fn structural_parameter_count(&self) -> usize
pub fn structural_parameter_count(&self) -> usize
Return the structural parameter count shared by all components.
Sourcepub fn calculate(
&self,
input: &PreparedStructuralSpectrumInputView<'_>,
) -> Result<StructuralPatternResult, StructuralSpectrumError>
pub fn calculate( &self, input: &PreparedStructuralSpectrumInputView<'_>, ) -> Result<StructuralPatternResult, StructuralSpectrumError>
Calculate and combine all fixed wavelength components.
§Errors
Returns StructuralSpectrumError for invalid dynamic inputs or a
failed component calculation.
Sourcepub fn linearize(
&self,
input: &PreparedStructuralSpectrumInputView<'_>,
) -> Result<StructuralPatternDenseResult, StructuralSpectrumError>
pub fn linearize( &self, input: &PreparedStructuralSpectrumInputView<'_>, ) -> Result<StructuralPatternDenseResult, StructuralSpectrumError>
Calculate and combine dense structural linearizations.
§Errors
Returns StructuralSpectrumError for invalid inputs or incompatible
component layouts.
Sourcepub fn jvp(
&self,
input: &PreparedStructuralSpectrumInputView<'_>,
tangent: &[f64],
) -> Result<StructuralPatternJvpResult, StructuralSpectrumError>
pub fn jvp( &self, input: &PreparedStructuralSpectrumInputView<'_>, tangent: &[f64], ) -> Result<StructuralPatternJvpResult, StructuralSpectrumError>
Calculate and combine structural forward derivative products.
§Errors
Returns StructuralSpectrumError for invalid inputs or tangent shape.
Sourcepub fn vjp(
&self,
input: &PreparedStructuralSpectrumInputView<'_>,
sample_weights: &[f64],
) -> Result<StructuralPatternVjpResult, StructuralSpectrumError>
pub fn vjp( &self, input: &PreparedStructuralSpectrumInputView<'_>, sample_weights: &[f64], ) -> Result<StructuralPatternVjpResult, StructuralSpectrumError>
Calculate and combine structural transpose products.
§Errors
Returns StructuralSpectrumError for invalid inputs or sample weights.
Trait Implementations§
Source§impl Clone for PreparedStructuralSpectrum
impl Clone for PreparedStructuralSpectrum
Source§fn clone(&self) -> PreparedStructuralSpectrum
fn clone(&self) -> PreparedStructuralSpectrum
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for PreparedStructuralSpectrum
impl !UnwindSafe for PreparedStructuralSpectrum
impl Freeze for PreparedStructuralSpectrum
impl Send for PreparedStructuralSpectrum
impl Sync for PreparedStructuralSpectrum
impl Unpin for PreparedStructuralSpectrum
impl UnsafeUnpin for PreparedStructuralSpectrum
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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