pub enum ModelBuildError {
Show 13 variants
DuplicateParameterNames {
function_parameters: Vec<String>,
},
EmptyParameters,
FunctionParameterNotInModel {
function_parameter: String,
},
InvalidDerivative {
parameter: String,
function_parameters: Vec<String>,
},
DuplicateDerivative {
parameter: String,
},
MissingDerivative {
missing_parameter: String,
function_parameters: Vec<String>,
},
EmptyModel,
UnusedParameter {
parameter: String,
},
IncorrectParameterCount {
actual: usize,
expected: usize,
},
CommaInParameterNameNotAllowed {
param_name: String,
},
MissingX,
MissingInitialParameters,
IllegalCallToPartialDeriv,
}
Expand description
An error structure that contains error variants that occur when building a model.
Variants§
DuplicateParameterNames
Model or function parameters contain duplicates
EmptyParameters
Model or function parameter list is empty. To add functions that are independent of model parameters, use the interface for adding invariant functions.
FunctionParameterNotInModel
A function was added to the model which depends on parameters which are not in the model
InvalidDerivative
Tried to provide a partial derivative with respect to a parameter that a function does not depend on
Fields
DuplicateDerivative
Tried to provide the same partial derivative twice.
MissingDerivative
Not all partial derivatives for a function where given. Each function must be given a partial derivative with respect to each parameter it depends on.
Fields
EmptyModel
Tried to construct a model without base functions
UnusedParameter
The model depends on a certain parameter that none of the base functions depend on.
IncorrectParameterCount
This error indicates that the more or fewer string parameters where provided as function parameters than the actual variadic function takes. This might accidentally happen when giving a derivative that does not depend on a certain parameter, whereas the base function does. However, the library requires that the derivatives take all the parameters its base function takes in the same order.
CommaInParameterNameNotAllowed
Parameter names may not contain a comma separator, because this is most likely caused by a typo, i.e.
["tau,phi"]
, instead of actually ["tau","phi"]
. So this is forbidden in order to help spotting these
hard to find errors.
MissingX
x-vector (independent variable) was not supplied to the model builder
MissingInitialParameters
missing initial guesses for parameters
IllegalCallToPartialDeriv
an illegal call to the partial_deriv function
Trait Implementations§
Source§impl Clone for ModelBuildError
impl Clone for ModelBuildError
Source§fn clone(&self) -> ModelBuildError
fn clone(&self) -> ModelBuildError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ModelBuildError
impl Debug for ModelBuildError
Source§impl Display for ModelBuildError
impl Display for ModelBuildError
Source§impl Error for ModelBuildError
impl Error for ModelBuildError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl<ScalarType> From<ModelBuildError> for SeparableModelBuilder<ScalarType>where
ScalarType: Scalar,
create a SeparableModelBuilder which contains an error variant
impl<ScalarType> From<ModelBuildError> for SeparableModelBuilder<ScalarType>where
ScalarType: Scalar,
create a SeparableModelBuilder which contains an error variant
Source§fn from(err: ModelBuildError) -> Self
fn from(err: ModelBuildError) -> Self
Source§impl PartialEq for ModelBuildError
impl PartialEq for ModelBuildError
impl Eq for ModelBuildError
impl StructuralPartialEq for ModelBuildError
Auto Trait Implementations§
impl Freeze for ModelBuildError
impl RefUnwindSafe for ModelBuildError
impl Send for ModelBuildError
impl Sync for ModelBuildError
impl Unpin for ModelBuildError
impl UnwindSafe for ModelBuildError
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<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.