pub struct RietveldParameterLayout { /* private fields */ }Expand description
Ordered complete physical parameters and state transforms.
Implementations§
Source§impl RietveldParameterLayout
impl RietveldParameterLayout
Sourcepub fn new(
input: &RietveldInput,
selection: &RietveldParameterSelection,
lattice_bounds: &[Option<LatticeBounds>],
) -> Result<Self, RietveldGeneralParameterError>
pub fn new( input: &RietveldInput, selection: &RietveldParameterSelection, lattice_bounds: &[Option<LatticeBounds>], ) -> Result<Self, RietveldGeneralParameterError>
Build complete stable parameters in instrument, background, structural order.
§Errors
Returns RietveldGeneralParameterError for incompatible selections,
domains, bounds, or attached state.
Sourcepub const fn parameters(&self) -> &ParameterSet
pub const fn parameters(&self) -> &ParameterSet
Borrow all physical parameters in stable packing order.
Sourcepub const fn structural_layout(&self) -> &RietveldStructuralLayout
pub const fn structural_layout(&self) -> &RietveldStructuralLayout
Borrow the structural sub-layout.
Sourcepub fn structural_direction(
&self,
direction: &[f64],
) -> Result<Vec<f64>, RietveldGeneralParameterError>
pub fn structural_direction( &self, direction: &[f64], ) -> Result<Vec<f64>, RietveldGeneralParameterError>
Extract one structural tangent from a complete physical tangent.
§Errors
Returns RietveldGeneralParameterError::ValueLengthMismatch for a
wrong complete direction length.
Sourcepub fn expand_structural_gradient(
&self,
structural: &[f64],
) -> Result<Vec<f64>, RietveldGeneralParameterError>
pub fn expand_structural_gradient( &self, structural: &[f64], ) -> Result<Vec<f64>, RietveldGeneralParameterError>
Combine a structural reverse product with zeroed non-structural rows.
§Errors
Returns RietveldGeneralParameterError::StructuralGradientLengthMismatch
for a stale structural product.
Sourcepub fn apply_values(
&self,
input: &RietveldInput,
values: &[f64],
) -> Result<RietveldInput, RietveldGeneralParameterError>
pub fn apply_values( &self, input: &RietveldInput, values: &[f64], ) -> Result<RietveldInput, RietveldGeneralParameterError>
Install complete bounded physical values into a cloned request.
§Errors
Returns RietveldGeneralParameterError for wrong, non-finite,
out-of-bounds, or domain-invalid values.
Sourcepub fn apply_value_change(
&self,
input: &RietveldInput,
current_values: &[f64],
values: &[f64],
) -> Result<RietveldInput, RietveldGeneralParameterError>
pub fn apply_value_change( &self, input: &RietveldInput, current_values: &[f64], values: &[f64], ) -> Result<RietveldInput, RietveldGeneralParameterError>
Install a change between two complete absolute parameter states.
This retains the prepared special-position tangent basis while applying only its accepted-to-trial coordinate increment, matching the scripting optimizer’s invariant preparation cache.
§Errors
Returns RietveldGeneralParameterError for wrong, non-finite,
out-of-bounds, or domain-invalid values.
Trait Implementations§
Source§impl Clone for RietveldParameterLayout
impl Clone for RietveldParameterLayout
Source§fn clone(&self) -> RietveldParameterLayout
fn clone(&self) -> RietveldParameterLayout
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RietveldParameterLayout
impl Debug for RietveldParameterLayout
Source§impl PartialEq for RietveldParameterLayout
impl PartialEq for RietveldParameterLayout
impl StructuralPartialEq for RietveldParameterLayout
Auto Trait Implementations§
impl Freeze for RietveldParameterLayout
impl RefUnwindSafe for RietveldParameterLayout
impl Send for RietveldParameterLayout
impl Sync for RietveldParameterLayout
impl Unpin for RietveldParameterLayout
impl UnsafeUnpin for RietveldParameterLayout
impl UnwindSafe for RietveldParameterLayout
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.