|
@@ -75,52 +75,52 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
|
|
|
let mut variables: FnvHashMap<String, Variable> = FnvHashMap::default();
|
|
let mut variables: FnvHashMap<String, Variable> = FnvHashMap::default();
|
|
|
let mut params_const = self.params;
|
|
let mut params_const = self.params;
|
|
|
|
|
|
|
|
- // println!("Allocations\n");
|
|
|
|
|
|
|
+ println!("Allocations\n");
|
|
|
for (k, v) in &self.allocs {
|
|
for (k, v) in &self.allocs {
|
|
|
match v {
|
|
match v {
|
|
|
MalVal::ZKScalar(val) => {
|
|
MalVal::ZKScalar(val) => {
|
|
|
let var = cs.alloc(|| k, || Ok(*val))?;
|
|
let var = cs.alloc(|| k, || Ok(*val))?;
|
|
|
variables.insert(k.to_string(), var);
|
|
variables.insert(k.to_string(), var);
|
|
|
- // println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
|
|
|
|
+ println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
}
|
|
}
|
|
|
MalVal::Str(val) => {
|
|
MalVal::Str(val) => {
|
|
|
let val_scalar = bls12_381::Scalar::from_string(&*val);
|
|
let val_scalar = bls12_381::Scalar::from_string(&*val);
|
|
|
let var = cs.alloc(|| k, || Ok(val_scalar))?;
|
|
let var = cs.alloc(|| k, || Ok(val_scalar))?;
|
|
|
variables.insert(k.to_string(), var);
|
|
variables.insert(k.to_string(), var);
|
|
|
- // println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
|
|
|
|
+ println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
}
|
|
}
|
|
|
_ => {
|
|
_ => {
|
|
|
- // println!("not allocated k {:?} v {:?}", k, v);
|
|
|
|
|
|
|
+ println!("not allocated k {:?} v {:?}", k, v);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // println!("Allocations Input\n");
|
|
|
|
|
|
|
+ println!("Allocations Input\n");
|
|
|
for (k, v) in &self.alloc_inputs {
|
|
for (k, v) in &self.alloc_inputs {
|
|
|
// println!("k {:?} v {:?}", k, v);
|
|
// println!("k {:?} v {:?}", k, v);
|
|
|
match v {
|
|
match v {
|
|
|
MalVal::ZKScalar(val) => {
|
|
MalVal::ZKScalar(val) => {
|
|
|
let var = cs.alloc_input(|| k, || Ok(*val))?;
|
|
let var = cs.alloc_input(|| k, || Ok(*val))?;
|
|
|
variables.insert(k.to_string(), var);
|
|
variables.insert(k.to_string(), var);
|
|
|
- // println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
|
|
|
|
+ println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
}
|
|
}
|
|
|
MalVal::Str(val) => {
|
|
MalVal::Str(val) => {
|
|
|
let val_scalar = bls12_381::Scalar::from_string(&*val);
|
|
let val_scalar = bls12_381::Scalar::from_string(&*val);
|
|
|
let var = cs.alloc_input(|| k, || Ok(val_scalar))?;
|
|
let var = cs.alloc_input(|| k, || Ok(val_scalar))?;
|
|
|
variables.insert(k.to_string(), var);
|
|
variables.insert(k.to_string(), var);
|
|
|
- // println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
|
|
|
|
+ println!("k {:?} v {:?} var {:?}", k, v, var);
|
|
|
}
|
|
}
|
|
|
_ => {
|
|
_ => {
|
|
|
- // println!("not allocated k {:?} v {:?}", k, v);
|
|
|
|
|
|
|
+ println!("not allocated k {:?} v {:?}", k, v);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // println!("Enforce Allocations\n");
|
|
|
|
|
|
|
+ println!("Enforce Allocations\n");
|
|
|
let mut enforce_sorted = self.constraints.clone();
|
|
let mut enforce_sorted = self.constraints.clone();
|
|
|
enforce_sorted.sort_by(|a, b| a.idx.cmp(&b.idx));
|
|
enforce_sorted.sort_by(|a, b| a.idx.cmp(&b.idx));
|
|
|
for alloc_value in enforce_sorted.iter() {
|
|
for alloc_value in enforce_sorted.iter() {
|
|
|
- // println!("Enforce -> {:?}", alloc_value);
|
|
|
|
|
|
|
+ println!("Enforce -> {:?}", alloc_value);
|
|
|
let coeff = bls12_381::Scalar::one();
|
|
let coeff = bls12_381::Scalar::one();
|
|
|
let mut left = bellman::LinearCombination::<Scalar>::zero();
|
|
let mut left = bellman::LinearCombination::<Scalar>::zero();
|
|
|
let mut right = bellman::LinearCombination::<Scalar>::zero();
|
|
let mut right = bellman::LinearCombination::<Scalar>::zero();
|
|
@@ -142,7 +142,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // println!("left: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
|
|
|
|
+ println!("left: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for values in alloc_value.right.iter() {
|
|
for values in alloc_value.right.iter() {
|
|
@@ -156,7 +156,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
|
|
|
} else if a == "scalar::one::neg" {
|
|
} else if a == "scalar::one::neg" {
|
|
|
right = right + (coeff.neg(), val_b);
|
|
right = right + (coeff.neg(), val_b);
|
|
|
}
|
|
}
|
|
|
- //println!("right: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
|
|
|
|
+ println!("right: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for values in alloc_value.output.iter() {
|
|
for values in alloc_value.output.iter() {
|
|
@@ -170,7 +170,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
|
|
|
} else if a == "scalar::one::neg" {
|
|
} else if a == "scalar::one::neg" {
|
|
|
output = output + (coeff.neg(), val_b);
|
|
output = output + (coeff.neg(), val_b);
|
|
|
}
|
|
}
|
|
|
- //println!("output: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
|
|
|
|
+ println!("output: a {:?} b {:?} val_b: {:?}", a, b, val_b);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// println!("Enforcing ...");
|
|
// println!("Enforcing ...");
|