Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
circuit_utils.hpp
Go to the documentation of this file.
1 // Copyright (c) 2015-2022 Clearmatics Technologies Ltd
2 //
3 // SPDX-License-Identifier: LGPL-3.0+
4 
5 #ifndef __ZETH_CIRCUITS_CIRCUIT_UTILS_HPP__
6 #define __ZETH_CIRCUITS_CIRCUIT_UTILS_HPP__
7 
8 #include "libzeth/core/bits.hpp"
9 
10 #include <libsnark/gadgetlib1/pb_variable.hpp>
11 
12 namespace libzeth
13 {
14 
15 template<typename FieldT>
16 libsnark::linear_combination<FieldT> packed_addition(
17  const libsnark::pb_variable_array<FieldT> &input);
18 
19 template<typename FieldT>
20 libsnark::pb_variable_array<FieldT> pb_variable_array_from_bit_vector(
21  libsnark::protoboard<FieldT> &pb,
22  const std::vector<bool> &bits,
23  const std::string &annotation_prefix);
24 
25 } // namespace libzeth
26 
28 
29 #endif // __ZETH_CIRCUITS_CIRCUIT_UTILS_HPP__
libzeth
Definition: binary_operation.hpp:15
libzeth::packed_addition
libsnark::linear_combination< FieldT > packed_addition(const libsnark::pb_variable_array< FieldT > &input)
bits.hpp
libzeth::pb_variable_array_from_bit_vector
libsnark::pb_variable_array< FieldT > pb_variable_array_from_bit_vector(libsnark::protoboard< FieldT > &pb, const std::vector< bool > &bits, const std::string &annotation_prefix)
circuit_utils.tcc