Hotfix -- 7/6/2020
- Fixed (Issue 188).
New features
- Added a struct
seal::util::MultiplyUIntModOperand
in native/src/seal/util/uintarithsmallmod.h.
This struct handles precomputation data for Barrett style modular multiplication. - Added new overloads for modular arithmetic in native/src/seal/util/uintarithsmallmod.h where one operand is replaced by a
MultiplyUIntModOperand
instance for improved performance when the same operand is used repeatedly. - Changed the name of
seal::util::barrett_reduce_63
toseal::util::barrett_reduce_64
; the name was misleading and only referred to the size of the modulus. - Added
seal::util::StrideIter
in native/src/seal/util/iterator.h. - Added macros
SEAL_ALLOCATE_GET_PTR_ITER
andSEAL_ALLOCATE_GET_STRIDE_ITER
in native/src/seal/util/defines.h.
Other
- Significant performance improvements from merging pull request (PR 185) and implementing other improvements of the same style (see above).
- Removed a lot of old and unused code.