You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
std::void_t was introduced only in C++17; switched to using a custom implementation (Issue 180).
Fixed two independent bugs in native/src/CMakeConfig.cmd: The first prevented SEAL to be built in a directory with spaces in the path due to missing quotation marks. Another issue caused MSVC to fail when building SEAL for multiple architectures.
RNSBase::decompose_array had incorrect semantics that caused Evaluator::multiply_plain_normal and Evaluator::transform_to_ntt_inplace (for Plaintext) to behave incorrectly for some plaintexts.
seal::util::PtrIter<T *> now dereferences correctly to T & instead of T *.
This results in simpler code, where inside SEAL_ITERATE lambda functions dereferences of seal::util::PtrIter<T *> do not need to be dereferenced a second time, as was particularly common when iterating over ModulusIter and NTTTablesIter types.
seal::util::IterTuple now dereferences to an std::tuple of dereferences of its component iterators, so it is no longer possible to directly pass a dereferenced seal::util::IterTuple to an inner lambda function in nested SEAL_ITERATE calls.
Instead, the outer lambda function parameter should be wrapped inside another call to seal::util::iter before passed on to the inner SEAL_ITERATE to produce an appropriate seal::util::IterTuple.