mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-11-23 23:23:50 +03:00
42d97d3d89
* implement group::GEN Leo syntax * revert unrelated test changes * move new errors to bottom of file to keep previous error codes consistent |
||
---|---|---|
.. | ||
inputs | ||
src | ||
.gitignore | ||
program.json | ||
README.md |
Leo group operations.
Build Guide
To compile this program, run:
leo build
To run this program, run:
leo run main
Overview
This example shows how to do basic operations over groups.
It takes the input data from inputs/groups.in
Documentation Group Element
The set of affine points on the elliptic curve passed into the Leo compiler forms a group.
A subset of those points, defined by a chosen generator point, forms a subgroup of the group.
Leo supports the set of points in this subgroup as a primitive data type.
Group elements are special since their values can be defined as coordinate pairs (x, y)group
.
The group
type keyword group must be used when specifying a pair of group coordinates since implicit syntax would collide with normal tuple (a, b)
values.
let b = 0group; // the zero of the group
let a = 1group; // the group generator
let c = 2group; // 2 * the group generator
let d = (0, 1)group; // coordinate notation