mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-02-14 02:43:13 +00:00
remove make_stack
This commit is contained in:
parent
3fbc8bff3e
commit
ccd4a38ab4
@ -14,14 +14,6 @@ fn get_address_from_label(lbl: &str) -> U256 {
|
|||||||
U256::from(KERNEL.global_labels[lbl])
|
U256::from(KERNEL.global_labels[lbl])
|
||||||
}
|
}
|
||||||
|
|
||||||
fn make_stack(vecs: Vec<Vec<U256>>) -> Vec<U256> {
|
|
||||||
let mut stack = vec![];
|
|
||||||
for vec in vecs {
|
|
||||||
stack.extend(vec)
|
|
||||||
}
|
|
||||||
stack
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_output(lbl: &str, stack: Vec<U256>) -> Vec<U256> {
|
fn get_output(lbl: &str, stack: Vec<U256>) -> Vec<U256> {
|
||||||
let label = KERNEL.global_labels[lbl];
|
let label = KERNEL.global_labels[lbl];
|
||||||
let mut input = stack;
|
let mut input = stack;
|
||||||
@ -36,20 +28,19 @@ fn make_mul_stack(f: Fp12, g: Fp12, mul_label: &str) -> Vec<U256> {
|
|||||||
let in1 = U256::from(76);
|
let in1 = U256::from(76);
|
||||||
let out = U256::from(88);
|
let out = U256::from(88);
|
||||||
|
|
||||||
make_stack(vec![
|
let mut stack = vec![in0];
|
||||||
vec![in0],
|
stack.extend(fp12_to_vec(f));
|
||||||
fp12_to_vec(f),
|
stack.extend(vec![in1]);
|
||||||
vec![in1],
|
stack.extend(fp12_to_vec(g));
|
||||||
fp12_to_vec(g),
|
stack.extend(vec![
|
||||||
vec![
|
get_address_from_label(mul_label),
|
||||||
get_address_from_label(mul_label),
|
in0,
|
||||||
in0,
|
in1,
|
||||||
in1,
|
out,
|
||||||
out,
|
get_address_from_label("return_fp12_on_stack"),
|
||||||
get_address_from_label("return_fp12_on_stack"),
|
out,
|
||||||
out,
|
]);
|
||||||
],
|
stack
|
||||||
])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -83,7 +74,9 @@ fn test_frob_fp12() -> Result<()> {
|
|||||||
|
|
||||||
let f: Fp12 = gen_fp12();
|
let f: Fp12 = gen_fp12();
|
||||||
|
|
||||||
let stack = make_stack(vec![vec![ptr], fp12_to_vec(f), vec![ptr]]);
|
let mut stack = vec![ptr];
|
||||||
|
stack.extend(fp12_to_vec(f));
|
||||||
|
stack.extend(vec![ptr]);
|
||||||
|
|
||||||
let out_frob1: Vec<U256> = get_output("test_frob_fp12_1", stack.clone());
|
let out_frob1: Vec<U256> = get_output("test_frob_fp12_1", stack.clone());
|
||||||
let out_frob2: Vec<U256> = get_output("test_frob_fp12_2", stack.clone());
|
let out_frob2: Vec<U256> = get_output("test_frob_fp12_2", stack.clone());
|
||||||
@ -109,12 +102,9 @@ fn test_inv_fp12() -> Result<()> {
|
|||||||
let inv = U256::from(300);
|
let inv = U256::from(300);
|
||||||
|
|
||||||
let f: Fp12 = gen_fp12();
|
let f: Fp12 = gen_fp12();
|
||||||
|
let mut stack = vec![ptr];
|
||||||
let stack = make_stack(vec![
|
stack.extend(fp12_to_vec(f));
|
||||||
vec![ptr],
|
stack.extend(vec![ptr, inv, U256::from_str("0xdeadbeef").unwrap()]);
|
||||||
fp12_to_vec(f),
|
|
||||||
vec![ptr, inv, U256::from_str("0xdeadbeef").unwrap()],
|
|
||||||
]);
|
|
||||||
|
|
||||||
let output: Vec<U256> = get_output("test_inv_fp12", stack);
|
let output: Vec<U256> = get_output("test_inv_fp12", stack);
|
||||||
|
|
||||||
@ -130,15 +120,13 @@ fn test_power() -> Result<()> {
|
|||||||
|
|
||||||
let f: Fp12 = gen_fp12();
|
let f: Fp12 = gen_fp12();
|
||||||
|
|
||||||
let stack = make_stack(vec![
|
let mut stack = vec![ptr];
|
||||||
vec![ptr],
|
stack.extend(fp12_to_vec(f));
|
||||||
fp12_to_vec(f),
|
stack.extend(vec![
|
||||||
vec![
|
ptr,
|
||||||
ptr,
|
out,
|
||||||
out,
|
get_address_from_label("return_fp12_on_stack"),
|
||||||
get_address_from_label("return_fp12_on_stack"),
|
out,
|
||||||
out,
|
|
||||||
],
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
let output: Vec<U256> = get_output("test_pow", stack);
|
let output: Vec<U256> = get_output("test_pow", stack);
|
||||||
@ -156,17 +144,16 @@ fn make_tate_stack(p: Curve, q: TwistedCurve) -> Vec<U256> {
|
|||||||
let p_: Vec<U256> = p.into_iter().collect();
|
let p_: Vec<U256> = p.into_iter().collect();
|
||||||
let q_: Vec<U256> = q.into_iter().flatten().collect();
|
let q_: Vec<U256> = q.into_iter().flatten().collect();
|
||||||
|
|
||||||
make_stack(vec![
|
let mut stack = vec![ptr];
|
||||||
vec![ptr],
|
stack.extend(p_);
|
||||||
p_,
|
stack.extend(q_);
|
||||||
q_,
|
stack.extend(vec![
|
||||||
vec![
|
ptr,
|
||||||
ptr,
|
out,
|
||||||
out,
|
get_address_from_label("return_fp12_on_stack"),
|
||||||
get_address_from_label("return_fp12_on_stack"),
|
out,
|
||||||
out,
|
]);
|
||||||
],
|
stack
|
||||||
])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@ -60,18 +60,18 @@ impl<F: Field> GenerationState<F> {
|
|||||||
let xs = stack_peeks(self).expect("Empty stack");
|
let xs = stack_peeks(self).expect("Empty stack");
|
||||||
// TODO: This sucks... come back later
|
// TODO: This sucks... come back later
|
||||||
let n = match component {
|
let n = match component {
|
||||||
"ext_0" => 0,
|
"component_0" => 0,
|
||||||
"ext_1" => 1,
|
"component_1" => 1,
|
||||||
"ext_2" => 2,
|
"component_2" => 2,
|
||||||
"ext_3" => 3,
|
"component_3" => 3,
|
||||||
"ext_4" => 4,
|
"component_4" => 4,
|
||||||
"ext_5" => 5,
|
"component_5" => 5,
|
||||||
"ext_6" => 6,
|
"component_6" => 6,
|
||||||
"ext_7" => 7,
|
"component_7" => 7,
|
||||||
"ext_8" => 8,
|
"component_8" => 8,
|
||||||
"ext_9" => 9,
|
"component_9" => 9,
|
||||||
"ext_10" => 10,
|
"component_10" => 10,
|
||||||
"ext_11" => 11,
|
"component_11" => 11,
|
||||||
_ => panic!("out of bounds"),
|
_ => panic!("out of bounds"),
|
||||||
};
|
};
|
||||||
field.inverse_fp12(n, xs)
|
field.inverse_fp12(n, xs)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user