- Adds experimental HEXL-FPGA compatibility for dyadic multiply and key switch (intel#109)
- Adds vcpkg example of how to use previous hexl versions (intel#103)
- Adds benchmarking montgomery multiplication (intel#94)
- Moves to compiling with minimum C++ 17
- Updates to documentation
- Fix to EltwiseReduceMod on AVX512-DQ processors (intel#86)
- Update minimum CMake version to 3.13
- Fixes 3rd-party dependency commits (intel#85)
- Fixes Barrett reduce native benchmark (intel#65)
- Fixes 32 bit invntt (intel#73)
- Fixes CMake 3.13 compilation (intel#67)
- Added information of HElib integration to README (intel#63)
- Added random number generator which generates a vector of specified size with random values drawn uniformly from [0, modulus) (intel#62)
- Added random input values for benchmarks (intel#66)
- Uses Generalized Barrett Reduction algorithm for EltwiseMultMod (intel#68)
- Avoids memcpy operations on NTT (intel#72)
- Added performance tips to README (intel#74)
- Improves performance of Barrett Reduction (intel#75)
- Fixes a bug in AVX512 floating-point implementation of element-wise vector-vector modular multiplication (microsoft/SEAL#385)
- Fixes a bug in the NTT default constructor (https://gitlab.com/palisade/palisade-development/-/issues/329)
- Fixes a bug in the AVX512 NTT (intel#58)
- Improves performance of EltwiseFMAModAVX512 on ICX (intel#42)
- Improves performance of the native NTT
- Adds reference implementations for the radix-4 NTT
- Enables support for pre-built easylogging (intel#57)
- Large performance improvement in large (N >= 16384) AVX512 NTTs via recursive implementations
- Slight performance improvements in AVX512IFMA NTT
- Slight performance improvements in element-wise modular multiplication
- Implement optimized AVX512DQ NTT for moduli < 32 bits
- Expands public API to include number theory, NTT twiddle factors
- Remove HEXL_DEBUG and HEXL_EXPORT options. The behavior now is to always export the cmake configuration files, and HEXL_DEBUG is enabled iff the CMAKE_BUILD_TYPE=Debug
- Added pkgconfig support
- Fix Google benchmark branch to point to "main" instead of "master"
- Added vector-vector and vector-scalar EltwiseSubMod
- Added vector-scalar version of EltwiseAddMod
- Added generic 128-bit division for Windows build
- Documentation hosted on a separate branch
- Enabled custom allocator for NTT class
- Fixed argument order in EltwiseReduceMod
- Fixed build warnings on Windows and Mac
- Removed intel- prefix from headers and library name
- Fixed CMake variables from 3rd party libraries from leaking
- Fixed warnings when HEXL_DEBUG=ON