Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | List of all members
gadgetlib2::DualWord Class Reference

Holds both representations of a word, both multipacked and unpacked. More...

#include <variable.hpp>

Public Member Functions

 DualWord (const FieldType &fieldType)
 
 DualWord (const size_t numBits, const FieldType &fieldType, const ::std::string &name)
 
 DualWord (const MultiPackedWord &multipacked, const UnpackedWord &unpacked)
 
MultiPackedWord multipacked () const
 
UnpackedWord unpacked () const
 
FlagVariable bit (size_t i) const
 
size_t numBits () const
 
void resize (size_t newSize)
 

Detailed Description

Holds both representations of a word, both multipacked and unpacked.

Definition at line 424 of file variable.hpp.

Constructor & Destructor Documentation

◆ DualWord() [1/3]

gadgetlib2::DualWord::DualWord ( const FieldType fieldType)
inline

Definition at line 431 of file variable.hpp.

431  : multipacked_(fieldType), unpacked_()
432  {
433  }

◆ DualWord() [2/3]

gadgetlib2::DualWord::DualWord ( const size_t  numBits,
const FieldType fieldType,
const ::std::string &  name 
)

Definition at line 416 of file variable.cpp.

418  : multipacked_(numBits, fieldType, name + "_p")
419  , unpacked_(numBits, name + "_u")
420 {
421 }

◆ DualWord() [3/3]

gadgetlib2::DualWord::DualWord ( const MultiPackedWord multipacked,
const UnpackedWord unpacked 
)

Definition at line 423 of file variable.cpp.

425  : multipacked_(multipacked), unpacked_(unpacked)
426 {
427 }

Member Function Documentation

◆ bit()

FlagVariable gadgetlib2::DualWord::bit ( size_t  i) const
inline

Definition at line 441 of file variable.hpp.

442  {
443  return unpacked_[i];
444  } // syntactic sugar, same as unpacked()[i]

◆ multipacked()

MultiPackedWord gadgetlib2::DualWord::multipacked ( ) const
inline

Definition at line 439 of file variable.hpp.

439 { return multipacked_; }
Here is the caller graph for this function:

◆ numBits()

size_t gadgetlib2::DualWord::numBits ( ) const
inline

Definition at line 445 of file variable.hpp.

445 { return unpacked_.size(); }

◆ resize()

void gadgetlib2::DualWord::resize ( size_t  newSize)

Definition at line 429 of file variable.cpp.

430 {
431  multipacked_.resize(newSize);
432  unpacked_.resize(newSize);
433 }
Here is the call graph for this function:

◆ unpacked()

UnpackedWord gadgetlib2::DualWord::unpacked ( ) const
inline

Definition at line 440 of file variable.hpp.

440 { return unpacked_; }
Here is the caller graph for this function:

The documentation for this class was generated from the following files:
gadgetlib2::MultiPackedWord::resize
void resize(const size_t numBits)
Definition: variable.cpp:397
gadgetlib2::DualWord::numBits
size_t numBits() const
Definition: variable.hpp:445
gadgetlib2::DualWord::multipacked
MultiPackedWord multipacked() const
Definition: variable.hpp:439
gadgetlib2::DualWord::unpacked
UnpackedWord unpacked() const
Definition: variable.hpp:440