ark-r1cs-std/tests/from_test.rs
tests/from_test.rsRaw
1use ark_r1cs_std::alloc::AllocVar;
2use ark_r1cs_std::fields::nonnative::{NonNativeFieldMulResultVar, NonNativeFieldVar};
3use ark_r1cs_std::R1CSVar;
4use ark_relations::r1cs::ConstraintSystem;
5use ark_std::UniformRand;
6
7#[test]
8fn from_test() {
9 type F = ark_bls12_377::Fr;
10 type CF = ark_bls12_377::Fq;
11
12 let mut rng = ark_std::test_rng();
13 let cs = ConstraintSystem::<CF>::new_ref();
14 let f = F::rand(&mut rng);
15
16 let f_var = NonNativeFieldVar::<F, CF>::new_input(cs.clone(), || Ok(f)).unwrap();
17 let f_var_converted = NonNativeFieldMulResultVar::<F, CF>::from(&f_var);
18 let f_var_converted_reduced = f_var_converted.reduce().unwrap();
19
20 let f_var_value = f_var.value().unwrap();
21 let f_var_converted_reduced_value = f_var_converted_reduced.value().unwrap();
22
23 assert_eq!(f_var_value, f_var_converted_reduced_value);
24}