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

#include <binary_operation.hpp>

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

Public Member Functions

 xor_rot_gadget (libsnark::protoboard< FieldT > &pb, const libsnark::pb_variable_array< FieldT > &a, const libsnark::pb_variable_array< FieldT > &b, const size_t shift, const libsnark::pb_variable_array< FieldT > &res, const std::string &annotation_prefix="xor_rot_gadget")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Public Attributes

libsnark::pb_variable_array< FieldT > res
 

Detailed Description

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

xor_rot_gadget computes a XOR b and rotate it by shift this gadget does not ensure the booleaness of the inputs however given the inputs are boolean, the output is automatically boolean

Definition at line 71 of file binary_operation.hpp.

Constructor & Destructor Documentation

◆ xor_rot_gadget()

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

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libzeth::xor_rot_gadget< FieldT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ res

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

Definition at line 79 of file binary_operation.hpp.


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