feat(num-complex serialization): add serialization for bootstrappingkeys (LWEBSK) #14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We were trying to save some time while experimenting by saving the key material to disk and just re-reading it rather than constantly re-generating it just to debug things but we ran into the issue that the BSKs weren't serializable.
When we added the serde traits that are on the other keys, we ran into the issue that complex64 wasn't serializable. However, num-complex does have serde support, it's just optional and fftw does not offer a feature to toggle serde support on. After some digging I came up with this somewhat ugly hack that loads num-complex with the serde feature before loading fftw.
Maybe there's a nicer way to do this and/or this has some issues that I don't see (apart from the obvious fact that this requires manually matching the version number between fftw's depenceny and this "override") since I'm not super experienced with rust.
However, if it is acceptable then here's a PR for it ;)