ark-r1cs-std/tests/to_constraint_field_test.rs
tests/to_constraint_field_test.rsRaw
1use ark_r1cs_std::{
2 alloc::AllocVar, convert::ToConstraintFieldGadget, fields::emulated_fp::EmulatedFpVar, R1CSVar,
3};
4use ark_relations::r1cs::ConstraintSystem;
5
6#[test]
7fn to_constraint_field_test() {
8 type F = ark_bls12_377::Fr;
9 type CF = ark_bls12_377::Fq;
10
11 let cs = ConstraintSystem::<CF>::new_ref();
12
13 let a = EmulatedFpVar::Constant(F::from(12u8));
14 let b = EmulatedFpVar::new_input(cs.clone(), || Ok(F::from(6u8))).unwrap();
15
16 let b2 = &b + &b;
17
18 let a_to_constraint_field = a.to_constraint_field().unwrap();
19 let b2_to_constraint_field = b2.to_constraint_field().unwrap();
20
21 assert_eq!(a_to_constraint_field.len(), b2_to_constraint_field.len());
22 for (left, right) in a_to_constraint_field
23 .iter()
24 .zip(b2_to_constraint_field.iter())
25 {
26 assert_eq!(left.value(), right.value());
27 }
28}