Enum snarkvm_algorithms::polycommit::error::PCError
source · [−]pub enum PCError {
Show 16 variants
AnyhowError(Error),
MissingPolynomial {
label: String,
},
MissingEvaluation {
label: String,
},
MissingRng,
DegreeIsZero,
TooManyCoefficients {
num_coefficients: usize,
num_powers: usize,
},
HidingBoundIsZero,
HidingBoundToolarge {
hiding_poly_degree: usize,
num_powers: usize,
},
LagrangeBasisSizeIsNotPowerOfTwo,
LagrangeBasisSizeIsTooLarge,
TrimmingDegreeTooLarge,
EquationHasDegreeBounds(String),
UnsupportedDegreeBound(usize),
UnsupportedLagrangeBasisSize(usize),
IncorrectDegreeBound {
poly_degree: usize,
degree_bound: usize,
supported_degree: usize,
label: String,
},
Terminated,
}
Expand description
The error type for PolynomialCommitment
.
Variants
AnyhowError(Error)
MissingPolynomial
Fields
label: String
The label of the missing polynomial.
The query set contains a label for a polynomial that was not provided as
input to the PC::open
.
MissingEvaluation
Fields
label: String
The label of the missing polynomial.
Evaluations
does not contain an evaluation for the polynomial labelled
label
at a particular query.
MissingRng
The provided polynomial was meant to be hiding, but rng
was None
.
DegreeIsZero
The degree provided in setup was too small; degree 0 polynomials are not supported.
TooManyCoefficients
Fields
num_coefficients: usize
The number of coefficients in the polynomial.
num_powers: usize
The maximum number of powers provided in Powers
.
The degree of the polynomial passed to commit
or open
was too large.
HidingBoundIsZero
The hiding bound was not None
, but the hiding bound was zero.
HidingBoundToolarge
The hiding bound was too large for the given Powers
.
LagrangeBasisSizeIsNotPowerOfTwo
The lagrange basis is not a power of two.
LagrangeBasisSizeIsTooLarge
The lagrange basis is larger than the supported degree,
TrimmingDegreeTooLarge
The degree provided to trim
was too large.
EquationHasDegreeBounds(String)
The provided equation contained multiple polynomials, of which least one had a strict degree bound.
UnsupportedDegreeBound(usize)
The required degree bound is not supported by ck/vk
UnsupportedLagrangeBasisSize(usize)
The provided equation contained multiple polynomials, of which least one had a strict degree bound.
IncorrectDegreeBound
Fields
poly_degree: usize
Degree of the polynomial.
degree_bound: usize
Degree bound.
supported_degree: usize
Maximum supported degree.
label: String
Index of the offending polynomial.
The degree bound for the index
-th polynomial passed to commit
, open
or check
was incorrect, that is, degree_bound >= poly_degree
or
degree_bound <= max_degree
.
Terminated
Trait Implementations
sourceimpl Error for PCError
impl Error for PCError
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<PCError> for MarlinError
impl From<PCError> for MarlinError
Auto Trait Implementations
impl RefUnwindSafe for PCError
impl Send for PCError
impl Sync for PCError
impl Unpin for PCError
impl UnwindSafe for PCError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more