61 "Cannot merge pairing point tags after pairing points have been set to public.");
94 std::vector<uint32_t> unique_tags;
100 for (
auto v : unique_tags) {
129 "Trying to set pairing points to public for a circuit that already has public pairing points.");
#define BB_ASSERT(expression,...)
Class to manage pairing point tagging.
~PairingPointsTagging()=default
PairingPointsTagging & operator=(const PairingPointsTagging &other)=default
bool has_pairing_points() const
Check if any pairing points have been created.
bool operator==(const PairingPointsTagging &other) const =default
uint32_t num_unique_pairing_points() const
Return the number of unique pairing point tags.
bool has_single_pairing_point_tag() const
Check if all pairing point tags belong to a single equivalence class.
bool has_public_pairing_points() const
Check if pairings points have been set to public.
PairingPointsTagging(const PairingPointsTagging &other)=default
uint32_t get_tag(uint32_t tag_index) const
Get the tag for a specific pairing point index.
PairingPointsTagging()=default
PairingPointsTagging(PairingPointsTagging &&other) noexcept=default
uint32_t create_pairing_point_tag()
Create a new unique pairing point tag.
bool has_public_pairing_points_
void merge_pairing_point_tags(uint32_t tag1_index, uint32_t tag2_index)
Merge two pairing point tags.
std::vector< uint32_t > pairing_points_tags_
PairingPointsTagging & operator=(PairingPointsTagging &&other) noexcept=default
uint32_t next_pairing_point_tag_
void set_public_pairing_points()
Record that pairing points have been set to public.
Entry point for Barretenberg command-line interface.
Inner sum(Cont< Inner, Args... > const &in)