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
dyadic_multiply.h
Go to the documentation of this file.
1 // Copyright (C) 2020-2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #ifndef __DYADIC_MULTIPLY_H__
5 #define __DYADIC_MULTIPLY_H__
6 
7 #include <cstdint>
8 
9 namespace intel {
10 namespace hexl {
11 namespace fpga {
16 void set_worksize_DyadicMultiply(uint64_t ws);
27 void DyadicMultiply(uint64_t* results, const uint64_t* operand1,
28  const uint64_t* operand2, uint64_t n,
29  const uint64_t* moduli, uint64_t n_moduli);
35 
36 } // namespace fpga
37 } // namespace hexl
38 } // namespace intel
39 
40 #endif
bool DyadicMultiplyCompleted()
DyadicMultiplyCompleted Executed after the multiplication to wrap up the operation ...
void set_worksize_DyadicMultiply(uint64_t ws)
function set_worksize_DyadicMultiply
void DyadicMultiply(uint64_t *results, const uint64_t *operand1, const uint64_t *operand2, uint64_t n, const uint64_t *moduli, uint64_t n_moduli)
function DyadicMultiply Implements the multiplication of two ciphertexts