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
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