Intel HEXL for FPGA
Intel Homomorphic Encryption FPGA Acceleration Library, accelerating the modular arithmetic operations used in homomorphic encryption.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
intel::hexl::fpga::Buffer Class Reference

Struct Buffer Structure containing information for the polynomial operations. More...

#include <fpga.h>

Public Member Functions

 Buffer (uint64_t capacity, uint64_t n_batch_dyadic_multiply, uint64_t n_batch_ntt, uint64_t n_batch_intt)
 
void push (Object *obj)
 
Objectfront ()
 
std::vector< Object * > pop ()
 
uint64_t size ()
 
uint64_t get_worksize_DyadicMultiply () const
 
uint64_t get_worksize_NTT () const
 
uint64_t get_worksize_INTT () const
 
void set_worksize_DyadicMultiply (uint64_t ws)
 
void set_worksize_NTT (uint64_t ws)
 
void set_worksize_INTT (uint64_t ws)
 

Detailed Description

Struct Buffer Structure containing information for the polynomial operations.

Parameters
[in]capacityof the buffer
[in]n_batch_dyadic_multiplybatch size for the multiplication
[in]n_batch_nttbatch size for the Number Theoretical Transform
[in]n_batch_inttbatch size for the inverse Number Theoretical Transform
[in]total_worksize_DyadicMultiplystores the worksize for the multiplication
[in]num_DyadicMultiplystores the number of multiplications to be performed
[in]total_worksize_NTTstores the worksize for the NTT
[in]num_NTTstores the number of NTT to be performed
[in]total_worksize_INTTstores the worksize for the INTT
[in]num_INTTstores the number of INTT to be performed push pushes an Object in the structure front returns the front Object of the structure pop pops the front Object out of the structure size returns the size of the structure get_worksize_DyadicMultiply returns the worksize of DyadicMultiply get_worksize_NTT returns the worksize of NTT get_worksize_INTT returns the worksize of INTT set_worksize_DyadicMultiply sets the worksize of DyadicMultiply set_worksize_NTT sets the worksize of NTT set_worksize_INTT setsthe worksize of INTT

Constructor & Destructor Documentation

intel::hexl::fpga::Buffer::Buffer ( uint64_t  capacity,
uint64_t  n_batch_dyadic_multiply,
uint64_t  n_batch_ntt,
uint64_t  n_batch_intt 
)
inline

Member Function Documentation

Object* intel::hexl::fpga::Buffer::front ( )
uint64_t intel::hexl::fpga::Buffer::get_worksize_DyadicMultiply ( ) const
inline
uint64_t intel::hexl::fpga::Buffer::get_worksize_INTT ( ) const
inline
uint64_t intel::hexl::fpga::Buffer::get_worksize_NTT ( ) const
inline
std::vector<Object*> intel::hexl::fpga::Buffer::pop ( )
void intel::hexl::fpga::Buffer::push ( Object obj)
void intel::hexl::fpga::Buffer::set_worksize_DyadicMultiply ( uint64_t  ws)
inline
void intel::hexl::fpga::Buffer::set_worksize_INTT ( uint64_t  ws)
inline
void intel::hexl::fpga::Buffer::set_worksize_NTT ( uint64_t  ws)
inline
uint64_t intel::hexl::fpga::Buffer::size ( )

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