如何在 Circom 中通过引用传递函数参数?
How to pass function argument by reference in Circom?
如何在 circom circuit language 中通过引用传递函数参数?
我正在尝试执行以下操作:
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 代码中。
如何在 circom circuit language 中通过引用传递函数参数?
我正在尝试执行以下操作:
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 代码中。