pub enum PolynomialError {
DivisionByZero,
DivisionNotExact {
dividend: Expression,
divisor: Expression,
},
NotPolynomial {
expression: Expression,
reason: String,
},
WrongVariableCount {
expected: usize,
got: usize,
operation: &'static str,
},
VariableNotFound {
var: Symbol,
},
DegreeComputationFailed {
expression: Expression,
},
GcdComputationFailed {
reason: String,
},
FactorizationFailed {
reason: String,
},
NumericOverflow {
operation: &'static str,
},
MaxIterationsExceeded {
operation: &'static str,
limit: usize,
},
}Expand description
Errors that can occur during polynomial operations
Variants§
DivisionByZero
Division by zero polynomial
DivisionNotExact
Division did not yield exact result (non-zero remainder)
NotPolynomial
Not a valid polynomial (contains transcendental functions, negative powers, etc.)
WrongVariableCount
Polynomial has wrong number of variables for the operation
VariableNotFound
Variable not found in polynomial
DegreeComputationFailed
Degree computation failed (expression too complex or not polynomial)
Fields
§
expression: ExpressionGcdComputationFailed
GCD computation failed
FactorizationFailed
Factorization failed
NumericOverflow
Numeric overflow during computation
MaxIterationsExceeded
Algorithm reached maximum iterations without converging
Trait Implementations§
Source§impl Clone for PolynomialError
impl Clone for PolynomialError
Source§fn clone(&self) -> PolynomialError
fn clone(&self) -> PolynomialError
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PolynomialError
impl Debug for PolynomialError
Source§impl Display for PolynomialError
impl Display for PolynomialError
Source§impl Error for PolynomialError
impl Error for PolynomialError
1.30.0§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl PartialEq for PolynomialError
impl PartialEq for PolynomialError
impl StructuralPartialEq for PolynomialError
Auto Trait Implementations§
impl Freeze for PolynomialError
impl RefUnwindSafe for PolynomialError
impl Send for PolynomialError
impl Sync for PolynomialError
impl Unpin for PolynomialError
impl UnwindSafe for PolynomialError
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
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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>
Converts
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>
Converts
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