sonobe/folding-schemes/src/frontend/circom/test_folder/external_inputs.circom
folding-schemes/src/frontend/circom/test_folder/external_inputs.circomRaw
1pragma circom 2.0.3;
2
3/*
4 z_{i+1} == z_i^3 + z_i * external_input[0] + external_input[1]
5*/
6template Example () {
7 signal input ivc_input[1]; // IVC state
8 signal input external_inputs[2]; // not state
9
10 signal output ivc_output[1]; // next IVC state
11
12 signal temp1;
13 signal temp2;
14
15 temp1 <== ivc_input[0] * ivc_input[0];
16 temp2 <== ivc_input[0] * external_inputs[0];
17 ivc_output[0] <== temp1 * ivc_input[0] + temp2 + external_inputs[1];
18}
19
20component main {public [ivc_input]} = Example();