Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
Public Member Functions | Public Attributes | List of all members
libzeth::double_bit32_sum_eq_gadget< FieldT > Class Template Reference

#include <binary_operation.hpp>

Inheritance diagram for libzeth::double_bit32_sum_eq_gadget< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libzeth::double_bit32_sum_eq_gadget< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 double_bit32_sum_eq_gadget (libsnark::protoboard< FieldT > &pb, const libsnark::pb_variable_array< FieldT > &a, const libsnark::pb_variable_array< FieldT > &b, const libsnark::pb_variable_array< FieldT > &res, const std::string &annotation_prefix="double_bit32_sum_eq_gadget")
 
void generate_r1cs_constraints (bool enforce_boolean=true)
 
void generate_r1cs_witness ()
 

Public Attributes

libsnark::pb_variable_array< FieldT > res
 

Detailed Description

template<typename FieldT>
class libzeth::double_bit32_sum_eq_gadget< FieldT >

double_bit32_sum_eq_gadget checks that res = a + b % 2**32 with a, b and res being 32-bit long arrays this gadget does not ensure the booleaness of the inputs if enforce_boolean is set to true, the output booleaness is checked

Definition at line 98 of file binary_operation.hpp.

Constructor & Destructor Documentation

◆ double_bit32_sum_eq_gadget()

template<typename FieldT >
libzeth::double_bit32_sum_eq_gadget< FieldT >::double_bit32_sum_eq_gadget ( libsnark::protoboard< FieldT > &  pb,
const libsnark::pb_variable_array< FieldT > &  a,
const libsnark::pb_variable_array< FieldT > &  b,
const libsnark::pb_variable_array< FieldT > &  res,
const std::string &  annotation_prefix = "double_bit32_sum_eq_gadget< FieldT >" 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libzeth::double_bit32_sum_eq_gadget< FieldT >::generate_r1cs_constraints ( bool  enforce_boolean = true)

◆ generate_r1cs_witness()

template<typename FieldT >
void libzeth::double_bit32_sum_eq_gadget< FieldT >::generate_r1cs_witness ( )

Member Data Documentation

◆ res

template<typename FieldT >
libsnark::pb_variable_array<FieldT> libzeth::double_bit32_sum_eq_gadget< FieldT >::res

Definition at line 105 of file binary_operation.hpp.


The documentation for this class was generated from the following file: