0

如何在circom电路语言中通过引用传递函数参数?

我正在尝试执行以下操作:

pragma circom 2.0.0;


function increment(foo) {
    foo++;
}

template MyTemplate() {
    signal input a;
    signal output b;

    var foo;
    foo = 0;

    increment(foo);
    log(foo);


    // ...
}

component main = MyTemplate();

我希望log(pos)输出 1,但我得到 0。我需要传递某种方式以便它可以通过引用修改变量吗posincrement

4

1 回答 1

0

我决定使用 C 预处理器来生成 circom 代码,所以现在我有了:

main.circom: 
    cpp -P maintpl.circom > main.circom

在我的 Makefile

#define increment(foo) foo++

在我的circom代码中。

于 2022-01-29T13:35:22.843 回答