arnaucube
arnaucube/sonobePublic Self-hosted repository
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();