#include <gadget.hpp>
Definition at line 394 of file gadget.hpp.
◆ generateConstraints()
void gadgetlib2::R1P_LooseMUX_Gadget::generateConstraints |
( |
| ) |
|
|
virtual |
Implements gadgetlib2::Gadget.
Definition at line 513 of file gadget.cpp.
515 const size_t n =
inputs_.size();
516 for (
size_t i = 0; i < n; ++i) {
524 sum(indicators_), 1,
successFlag_,
"sum(indicators) * 1 = successFlag");
526 for (
auto &curGadget : computeResult_) {
527 curGadget->generateConstraints();
◆ generateWitness()
void gadgetlib2::R1P_LooseMUX_Gadget::generateWitness |
( |
| ) |
|
|
virtual |
Reimplemented from gadgetlib2::Gadget.
Definition at line 531 of file gadget.cpp.
533 const size_t n =
inputs_.size();
536 const FElem arraySize = n;
537 for (
size_t i = 0; i < n; ++i) {
538 val(indicators_[i]) = 0;
543 val(indicators_[index]) = 1;
546 for (
auto &curGadget : computeResult_) {
547 curGadget->generateWitness();
◆ indicatorVariables()
VariableArray gadgetlib2::R1P_LooseMUX_Gadget::indicatorVariables |
( |
| ) |
const |
|
virtual |
◆ LooseMUX_Gadget
◆ index_
const Variable gadgetlib2::R1P_LooseMUX_Gadget::index_ |
◆ inputs_
◆ output_
◆ successFlag_
const Variable gadgetlib2::R1P_LooseMUX_Gadget::successFlag_ |
The documentation for this class was generated from the following files:
- /home/runner/work/libsnark/libsnark/libsnark/gadgetlib2/gadget.hpp
- /home/runner/work/libsnark/libsnark/libsnark/gadgetlib2/gadget.cpp