mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-09 09:13:09 +00:00
POWER WORKS
This commit is contained in:
parent
e9e5528cc8
commit
e88e28a19c
@ -32,25 +32,24 @@ global power:
|
||||
%jump(power_loop_4)
|
||||
|
||||
power_return:
|
||||
%check(224)
|
||||
// stack: out, retdest {200: y0, 212: y2, 224: y4}
|
||||
PUSH power_return_1 PUSH 236 PUSH 200
|
||||
// stack: 200, 236, power_return_1, out, retdest {200: y0, 212: y2, 224: y4}
|
||||
%jump(inv_fp12)
|
||||
power_return_1:
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4}
|
||||
PUSH power_return_2 PUSH 248 PUSH 212
|
||||
// stack: 212, 248, power_return_2, out, retdest {236: y0, 212: y2, 224: y4}
|
||||
%jump(square_fp12)
|
||||
PUSH power_return_2 PUSH 224 DUP1 PUSH 212
|
||||
// stack: 212, 224, 224, power_return_2, out, retdest {236: y0, 212: y2, 224: y4}
|
||||
%jump(mul_fp12)
|
||||
power_return_2:
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4, 248: y2^2}
|
||||
PUSH power_return_3 PUSH 248 PUSH 212 PUSH 248
|
||||
// stack: 248, 236, 248, power_return_3, out, retdest {236: y0, 212: y2, 224: y4, 248: y2^2}
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4}
|
||||
PUSH power_return_3 PUSH 224 DUP1 PUSH 212
|
||||
// stack: 212, 224, 224, power_return_3, out, retdest {236: y0, 212: y2, 224: y4}
|
||||
%jump(mul_fp12)
|
||||
power_return_3:
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4, 248: y0*y2^2}
|
||||
PUSH power_return_4 PUSH 224 PUSH 248 PUSH 224
|
||||
// stack: 224, 248, 224, power_return_4, out, retdest {236: y0, 212: y2, 224: y4, 248: y0*y2^2}
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4}
|
||||
PUSH power_return_4 PUSH 224 DUP1 PUSH 236
|
||||
// stack: 236, 224, 224, power_return_4, out, retdest {236: y0, 212: y2, 224: y4}
|
||||
%jump(mul_fp12)
|
||||
power_return_4:
|
||||
// stack: out, retdest {236: y0, 212: y2, 224: y4}
|
||||
@ -229,9 +228,7 @@ power_loop_0_end:
|
||||
// stack: 200, ptr, 200, power_return
|
||||
%jump(mul_fp12)
|
||||
|
||||
|
||||
%macro check(lbl)
|
||||
PUSH $lbl
|
||||
%jump(ret_stack)
|
||||
%endmacro
|
||||
|
||||
|
||||
@ -576,17 +576,18 @@ fn fast_exp(f: Fp12) -> Fp12 {
|
||||
sq = mul_fp12(sq, sq);
|
||||
}
|
||||
y0 = mul_fp12(y0, sq);
|
||||
|
||||
println!("y0: {:#?}", y0);
|
||||
println!("y2: {:#?}", y2);
|
||||
println!("y4: {:#?}", y4);
|
||||
|
||||
y0 = inv_fp12(y0);
|
||||
|
||||
// println!("y0: {:#?}", y0);
|
||||
// println!("y4: {:#?}", y4);
|
||||
|
||||
y4 = mul_fp12(y4, y2);
|
||||
y4 = mul_fp12(y4, y2);
|
||||
y4 = mul_fp12(y4, y0);
|
||||
|
||||
println!("y4: {:#?}", y4);
|
||||
|
||||
y4 = frob_fp12(1, y4);
|
||||
y2 = frob_fp12(2, y2);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user