pub fn new(S: &R1CSShape<G>, W: &[G::Scalar]) -> Result<R1CSWitness<G>, NovaError> {
    if S.num_vars != W.len() {
      Err(NovaError::InvalidWitnessLength)
    } else {
      Ok(R1CSWitness { W: W.to_owned() })
    }
  }
/// A method to create a witness object using a vector of scalars
A method to create a witness object using a vector of scalars
A method to create a witness object using a vector of scalars
pub fn new(S: &R1CSShape<G>, W: &[G::Scalar]) -> Result<R1CSWitness<G>, NovaError> {
    if S.num_vars != W.len() {
      Err(NovaError::InvalidWitnessLength)
    } else {
      Ok(R1CSWitness { W: W.to_owned() })
    }
  }
pub fn new ( S : & R1CSShape < G > , W : & [ G :: Scalar ] ) -> Result < R1CSWitness < G > , NovaError > { if S . num_vars != W . len ( ) { Err ( NovaError :: InvalidWitnessLength ) } else { Ok ( R1CSWitness { W : W . to_owned ( ) } ) } }
A method to create a witness object using a vector of scalars
A method to create a witness object using a vector of scalars
S
&R1CSShape<G>
W
&[G::Scalar]
S
&R1CSShape<G>
W
&[G::Scalar]