如何在Circom中通过引用传递函数参数



如何在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。是否有某种方法需要将pos传递到increment中,以便它可以通过引用修改变量?

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

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

在我的Makefile 中

#define increment(foo) foo++

在我的circom代码中。

最新更新