Update ir.md
This commit is contained in:
parent
00659fc60a
commit
e0316c39e2
1 changed files with 4 additions and 2 deletions
|
@ -5,9 +5,11 @@ ZIR is the intermediate representation ZoKrates uses to represent programs. It i
|
|||
**Note that ZIR is still in development and can change without notice.**
|
||||
|
||||
When generating R1CS constraints, very large numbers are often used, which can make reading ZIR hard for humans.
|
||||
To mitigate this, ZIR applies an isomorphism when displaying field elements: they are shown as members of the interval `[-(p-1)/2, (p-1)/2]`.
|
||||
To mitigate this, ZIR applies an isomorphism when displaying field elements: they are shown as members of the interval `[- (p - 1)/2, (p - 1)/2]`. In other words, the following mapping is used:
|
||||
- elements in `[0, (p - 1)/2]` map to themselves
|
||||
- elements in `[(p + 1)/2, p - 1]` map to themselves minus `p`
|
||||
|
||||
Therefore, instead of writing p - 1 as:
|
||||
Therefore, instead of writing `p - 1` as:
|
||||
```
|
||||
21888242871839275222246405745257275088548364400416034343698204186575808495616
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue