arnaucube
arnaucube/sonobePublic Self-hosted repository
sonobe/folding-schemes/src/frontend/circom/test_folder/no_external_inputs.circom
folding-schemes/src/frontend/circom/test_folder/no_external_inputs.circomRaw
 1pragma circom 2.0.3;
 2
 3include "./circuits/is_zero.circom";
 4
 5template NoExternalInputs () {
 6    signal input ivc_input[3];
 7    signal output ivc_output[3];
 8
 9    component check_input = IsZero();
10    check_input.in <== ivc_input[0];
11    check_input.out === 0;
12
13    signal temp1;
14    signal temp2;
15    
16    temp1 <== ivc_input[0] * ivc_input[1];
17    temp2 <== temp1 * ivc_input[2];
18    ivc_output[0] <== temp1 * ivc_input[0];
19    ivc_output[1] <== temp1 * ivc_input[1] + temp1;
20    ivc_output[2] <== temp1 * ivc_input[2] + temp2;
21}
22
23component main {public [ivc_input]} = NoExternalInputs();