MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | List of all members
encrypto::motion::SimdifyGate Class Referencefinal

yields a share that constitutes a concatenation of the parent in terms of their SIMD values, e.g., if 3 parents contain 1, 3, and 2 SIMD values, respectively, the output will contain 1 share with 6 SIMD values and the same number of wires as parents. The output SIMD values will be ordered as [parent_0[simd_0], parent_1[simd_0, simd_1, simd_2], parent_2[simd_0, simd_1]]. More...

#include <simdify_gate.h>

Inheritance diagram for encrypto::motion::SimdifyGate:
Inheritance graph
[legend]
Collaboration diagram for encrypto::motion::SimdifyGate:
Collaboration graph
[legend]

Public Member Functions

 SimdifyGate (std::span< SharePointer > parents)
 
 ~SimdifyGate ()=default
 
void EvaluateSetup () override
 
void EvaluateOnline () override
 
SharePointer GetOutputAsShare ()
 
 SimdifyGate ()=delete
 
 SimdifyGate (const Gate &)=delete
 
- Public Member Functions inherited from encrypto::motion::OneGate
 ~OneGate () override=default
 
 OneGate (OneGate &)=delete
 
- Public Member Functions inherited from encrypto::motion::Gate
virtual ~Gate ()=default
 
const std::vector< WirePointer > & GetOutputWires () const
 
void Clear ()
 
void RegisterWaitingFor (std::size_t wire_id)
 
void SignalDependencyIsReady ()
 
bool AreDependenciesReady ()
 
void SetSetupIsReady ()
 
void SetOnlineIsReady ()
 
void WaitSetup () const
 
void WaitOnline () const
 
bool SetupIsReady () const
 
std::int64_t GetId () const
 
 Gate (Gate &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from encrypto::motion::OneGate
 OneGate (Backend &backend)
 
- Protected Member Functions inherited from encrypto::motion::Gate
 Gate (Backend &backend)
 
RegisterGetRegister ()
 
ConfigurationGetConfiguration ()
 
LoggerGetLogger ()
 
BaseProviderGetBaseProvider ()
 
MtProviderGetMtProvider ()
 
SpProviderGetSpProvider ()
 
SbProviderGetSbProvider ()
 
communication::CommunicationLayerGetCommunicationLayer ()
 
OtProviderGetOtProvider (const std::size_t i)
 
- Protected Attributes inherited from encrypto::motion::OneGate
std::vector< WirePointerparent_
 
- Protected Attributes inherited from encrypto::motion::Gate
std::vector< WirePointeroutput_wires_
 
Backendbackend_
 
std::int64_t gate_id_ = -1
 
std::unordered_set< std::size_t > wire_dependencies_
 
GateType gate_type_ = GateType::kInvalid
 
std::atomic< bool > setup_is_ready_ = false
 
std::atomic< bool > online_is_ready_ = false
 
std::atomic< bool > requires_online_interaction_ = false
 
std::atomic< bool > added_to_active_queue_ = false
 
FiberCondition setup_is_ready_condition_
 
FiberCondition online_is_ready_condition_
 
std::atomic< std::size_t > number_of_ready_dependencies_ = 0
 
bool own_output_wires_ {true}
 

Detailed Description

yields a share that constitutes a concatenation of the parent in terms of their SIMD values, e.g., if 3 parents contain 1, 3, and 2 SIMD values, respectively, the output will contain 1 share with 6 SIMD values and the same number of wires as parents. The output SIMD values will be ordered as [parent_0[simd_0], parent_1[simd_0, simd_1, simd_2], parent_2[simd_0, simd_1]].

Exceptions
invalid_argumentif the parent have inconsistent number of wires.

Constructor & Destructor Documentation

◆ SimdifyGate() [1/3]

encrypto::motion::SimdifyGate::SimdifyGate ( std::span< SharePointer parents)
Here is the call graph for this function:

◆ ~SimdifyGate()

encrypto::motion::SimdifyGate::~SimdifyGate ( )
default

◆ SimdifyGate() [2/3]

encrypto::motion::SimdifyGate::SimdifyGate ( )
delete

◆ SimdifyGate() [3/3]

encrypto::motion::SimdifyGate::SimdifyGate ( const Gate )
delete

Member Function Documentation

◆ EvaluateOnline()

void encrypto::motion::SimdifyGate::EvaluateOnline ( )
overridevirtual

Implements encrypto::motion::Gate.

Here is the call graph for this function:

◆ EvaluateSetup()

void encrypto::motion::SimdifyGate::EvaluateSetup ( )
overridevirtual

Implements encrypto::motion::Gate.

Here is the call graph for this function:

◆ GetOutputAsShare()

SharePointer encrypto::motion::SimdifyGate::GetOutputAsShare ( )

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