Intel HE Acceleration Library for FPGAs
Intel Homomorphic Encryption Acceleration Library for FPGAs, accelerating the modular arithmetic operations used in homomorphic encryption on Intel FPGAs.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros
fpga_assert.h File Reference

Go to the source code of this file.

Macros

#define FPGA_ASSERT_1_ARGS(condition)   FPGA_ASSERT_INT(condition, 0)
 
#define FPGA_ASSERT_2_ARGS(condition, message)   FPGA_ASSERT_INT(condition, message)
 
#define GET_ARG(arg1, arg2, func,...)   func
 
#define FPGA_ASSERT_MACRO_CHOOSER(...)   GET_ARG(__VA_ARGS__, FPGA_ASSERT_2_ARGS, FPGA_ASSERT_1_ARGS)
 
#define FPGA_ASSERT(...)   FPGA_ASSERT_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__)
 
#define FPGA_ASSERT_INT(condition, message)   {}
 

Macro Definition Documentation

#define FPGA_ASSERT (   ...)    FPGA_ASSERT_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__)
#define FPGA_ASSERT_1_ARGS (   condition)    FPGA_ASSERT_INT(condition, 0)
#define FPGA_ASSERT_2_ARGS (   condition,
  message 
)    FPGA_ASSERT_INT(condition, message)
#define FPGA_ASSERT_INT (   condition,
  message 
)    {}
#define FPGA_ASSERT_MACRO_CHOOSER (   ...)    GET_ARG(__VA_ARGS__, FPGA_ASSERT_2_ARGS, FPGA_ASSERT_1_ARGS)
#define GET_ARG (   arg1,
  arg2,
  func,
  ... 
)    func