Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <standard_affine_point.hpp>
Public Types | |
using | BaseField = AffinePoint::Fq |
using | ScalarField = AffinePoint::Fr |
Public Member Functions | |
constexpr | StandardAffinePoint () noexcept=default |
constexpr | StandardAffinePoint (AffinePoint val) noexcept |
constexpr | StandardAffinePoint (BaseField x, BaseField y, bool is_infinity) noexcept |
constexpr StandardAffinePoint | operator+ (const StandardAffinePoint &other) const noexcept |
constexpr StandardAffinePoint | operator* (const ScalarField &exponent) const noexcept |
constexpr bool | operator== (const StandardAffinePoint &other) const noexcept |
constexpr StandardAffinePoint | operator- () const noexcept |
constexpr bool | is_infinity () const noexcept |
constexpr bool | on_curve () const noexcept |
constexpr const BaseField & | x () const noexcept |
constexpr const BaseField & | y () const noexcept |
Static Public Member Functions | |
static const StandardAffinePoint & | infinity () |
static const StandardAffinePoint & | one () |
Private Attributes | |
AffinePoint | point |
Static Private Attributes | |
static constexpr const auto | zero = BaseField::zero() |
AVM bytecode expects the representation of points to be triplets, the two coordinates and an is_infinity boolean. Furthermore, its representation of infinity is inherited from noir's and is expected to be 0,0,true. BB, however, uses only the two coordinates to represent points. Infinity in barretenberg is represented as (P+1)/2,0. This class is a wrapper of the BB representation, needed to operate with points, that allows to extract the standard representation that AVM bytecode expects.
Definition at line 15 of file standard_affine_point.hpp.
using bb::avm2::StandardAffinePoint< AffinePoint >::BaseField = AffinePoint::Fq |
Definition at line 17 of file standard_affine_point.hpp.
using bb::avm2::StandardAffinePoint< AffinePoint >::ScalarField = AffinePoint::Fr |
Definition at line 18 of file standard_affine_point.hpp.
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
Definition at line 22 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 26 of file standard_affine_point.hpp.
|
inlinestatic |
Definition at line 55 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 47 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 49 of file standard_affine_point.hpp.
|
inlinestatic |
Definition at line 61 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 35 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 30 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 45 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 40 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 51 of file standard_affine_point.hpp.
|
inlineconstexprnoexcept |
Definition at line 53 of file standard_affine_point.hpp.
|
private |
Definition at line 68 of file standard_affine_point.hpp.
|
staticconstexprprivate |
Definition at line 69 of file standard_affine_point.hpp.