【session 2】 Exercise Integer Division - why does the if-else statement throw "signal already assigned" error? #54
-
S2的最后一题IntegerDivide,我稍微修改了Example Solution里的答案,以下是我的代码 代码
疑问为何else statement会报错呢?报错原因是指 这几行if-else statement是从example solution模版里抄出来的,为何我跑不了呢? 我的workaround
我的猜测(未经验证)会不会是 注:上述solution在zkrepl里依旧跑不了negative input,要放p-1才能表示-1,以此类推。 |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
反正都是瞎猜。。。我也来猜。 考虑下写电路编译器的难度,这种写法:
你的条件语句和结果是在一个地方集中给编译器的,所以他容易判断和生成电路。 所以逻辑上确实支持?就应该支持if else,但是实现上可能不一样。 |
Beta Was this translation helpful? Give feedback.
-
还是没找到答案,用circom(之前用的是zkrepl)跑了也是一样的报错 这里补充2点:
但这个点好像没什么帮助,因为remainder必须是output signal 😂
但若if condition之后不是生成constraint而是单纯地assign是ok的
这个点好像也没什么帮助,因为我们代码里用的就是 默默在这里等哪位大大解惑 |
Beta Was this translation helpful? Give feedback.
还是没找到答案,用circom(之前用的是zkrepl)跑了也是一样的报错
这里补充2点:
这个例子里用的是var不是signal,所以我们知道用的是var的话不会throw signal already assigned
但这个点好像没什么帮助,因为remainder必须是output signal 😂
但若if condition之后不是生成constraint而是单纯地assign是ok的