... | @@ -88,7 +88,7 @@ operand* 用来存放算术中的参数值,如 a+b=c+overflow 指令中的 a,b |
... | @@ -88,7 +88,7 @@ operand* 用来存放算术中的参数值,如 a+b=c+overflow 指令中的 a,b |
|
|
|
|
|
# 实现 arithmetic 子电路中 Add 例子
|
|
# 实现 arithmetic 子电路中 Add 例子
|
|
|
|
|
|
如果我们希望为某一个 tag 实现它的约束,我们需要实现 OperationGadget,然后在 config 方法中实现 tag 对应的约束就好。
|
|
如果我们希望为某一个 tag 实现它的约束,我们需要实现 OperationGadget trait,然后在 config 方法中实现相应 tag 的约束就好。具体如下所示
|
|
|
|
|
|
```rust
|
|
```rust
|
|
pub(crate) trait OperationGadget<F: Field> {
|
|
pub(crate) trait OperationGadget<F: Field> {
|
... | | ... | |