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