Commit Graph

114 Commits

Author SHA1 Message Date
Romain Bouyé
8868658f69 Typo fixes on v5 pass 2023-10-13 00:14:52 +02:00
Jean-Philippe Bossuat
69f0d511f2 staticcheck 2023-10-05 14:05:40 +02:00
Jean-Philippe Bossuat
fd243a2566 [utils/buffer]: added equality checks
[ring.Poly]: removed .Buff (not needed anymore)
2023-10-05 14:03:17 +02:00
Jean-Philippe Bossuat
0f9e100596 [utils/structs]: expanded support for floats and integers. 2023-10-05 11:22:36 +02:00
Jean-Philippe Bossuat
c631457984 [utils/structs]: fixed error messages 2023-10-05 09:18:08 +02:00
Jean-Philippe Bossuat
5d2a8a4b81 typo 2023-10-04 10:44:51 +02:00
Jean-Philippe Bossuat
4bb5cdbee8 [utils/buffer]: added generics 2023-10-04 10:36:15 +02:00
Jean-Philippe Bossuat
c0f3c85ae8 [utils/bignum]: fixed bug in Chebyshev Approximation 2023-09-20 11:26:03 +02:00
Jean-Philippe Bossuat
80da8ff3c7 [circuits/float]: tweeks 2023-09-19 22:38:55 +02:00
Jean-Philippe Bossuat
806a3564d5 [circuits/float]: rework of x mod 1 2023-08-11 17:28:17 +02:00
Jean-Philippe Bossuat
881cb30ea0 [wip]: fixed another bug in Remez algorithm 2023-08-09 18:36:55 +02:00
Jean-Philippe Bossuat
f51c9866ac [utils/bignum]: fixed Chebyshev approximation 2023-08-09 13:46:37 +02:00
Jean-Philippe Bossuat
e435c3ff83 [utils/bignum]: fixed bug in minimax Remez approximation algorithm 2023-08-09 12:45:55 +02:00
Jean-Philippe Bossuat
6febdf015c [circuits]: added division, step and sign 2023-08-08 23:13:47 +02:00
Jean-Philippe Bossuat
803a26b14d [rlwe]: improved evaluation keys parameters 2023-07-23 01:32:45 +02:00
Christian Mouchet
37029f293b some renaming and godocing 2023-07-18 17:49:56 +02:00
Christian Mouchet
ada6bb1b74 small improvements ckks encoder code and doc 2023-07-17 09:07:41 +02:00
Jean-Philippe Bossuat
d56f37f35b [bignum]: easier to user Chebyshev approximation 2023-07-15 22:52:19 +02:00
Jean-Philippe Bossuat
46f97267da generic Operand 2023-07-15 19:27:30 +02:00
Jean-Philippe Bossuat
2a78b14c53 [bignum]: added tests 2023-07-14 21:31:48 +02:00
Jean-Philippe Bossuat
6096f74ae2 [buffer]: added wrapper with int64 counter 2023-07-14 20:21:22 +02:00
Jean-Philippe Bossuat
1be270947e merged bignum/polynomial and bignum/approximation into bignum 2023-07-14 20:20:55 +02:00
Jean-Philippe
17caa545ea gofmt 2023-07-13 11:43:22 +02:00
Jean-Philippe Bossuat
e709b2c756 [buffer]: fixed a few bugs and added float64 support 2023-07-13 00:46:53 +02:00
Jean-Philippe Bossuat
cf5009b76a [utils/buffer]: all custom methods returns the number of bytes written as int64 2023-07-12 09:42:11 +02:00
Jean-Philippe
b8800915b4 [utils/buffer]: fixed infinite recursion 2023-07-09 11:34:46 +02:00
Jean-Philippe Bossuat
0c6d0c23a8 staticcheck & gosec 2023-06-27 17:14:41 +02:00
Jean-Philippe Bossuat
908664f27e [all]: dereferencing pass 2023-06-27 16:44:21 +02:00
Jean-Philippe Bossuat
2195042e60 [ex. params][private test params][fix to deep equal][bfv benchmarks] 2023-06-17 01:08:06 +02:00
Christian Mouchet
aff591c3a8 simplified distribution parameter interface and re-enabled parameters marshalling
The distribtion interface was too complicated for what it provided. To achieve its
intended functionality, larger changes needed to occure such as including the base ring
in the Distribution interface and probably moving the samplers to the rlwe package.
Since this is not the envision goal of this PR, I simplified the distribution
parameterization so that it meets these goals.
2023-06-15 12:52:36 +02:00
Christian Mouchet
452757b0a9 centralized rlwe key-related structs in keys.go and used [2]ringqp.Poly as unerlying PublicKey type
The use of OperandQP for public key is correct but a bit of an overkill, especially since public-keys
must be of size two (which requires an additional check at cast/read/write anyway) and because they
should not require to serialize ciphertext-related metadata.
2023-06-12 18:09:22 +02:00
Christian Mouchet
029e9d2c07 removed the Encode and Decode interface 2023-06-12 13:53:16 +02:00
Christian Mouchet
86d081bce2 improved the Writer/Reader-based serialization
The WriterTo and ReaderFrom standard interface should be sufficient for the serialization
of lattigo objects from their pointers. Other interfaces such as BinaryMarshaller should
be based on WriterTo. This is possible in an efficient way if the Writer and Reader interface
expose their internal buffer.
2023-06-12 13:52:43 +02:00
Jean-Philippe Bossuat
fc0f7bba03 More CHANGELOG.md updates 2023-06-08 13:20:23 +02:00
Christian Mouchet
28d498ffc7 improved Vector, Matrix and Map types
Vector and Matrix now use []T and [][]T as underlying types, which makes them more versatile and easy to cast to from slices.
Map still uses map[K]V as map values cannot be addressed and this is anoying to use.
I also got rid of the Codec[T] type as it can be replaced with a 3-liner (i.e., equivalent to calling the Codex and checking the error).
There is also a small change of the OperendQ.Encode method that now uses OperandQ.WriteTo instead of OperandQ.Encode (since it is a bit fasterfor some reason...). This is an experiment and more work on the serialization is needed.
2023-06-07 20:18:13 +02:00
Jean-Philippe Bossuat
3d077931d9 [staticcheck]] 2023-06-06 08:30:55 +02:00
Jean-Philippe Bossuat
52faa9318e fixed conflicts 2023-06-05 22:44:19 +02:00
Jean-Philippe Bossuat
687b148756 Merge remote-tracking branch 'origin/dev_approximation' into dev_release_v4.2.0 2023-06-05 21:19:38 +02:00
Jean-Philippe Bossuat
7a5aae79f7 [bgv/bfv]: sparse packing 2023-05-31 16:37:20 +02:00
Jean-Philippe Bossuat
20871ffa33 adapted bgv&bfv 2023-05-26 15:07:21 +02:00
Jean-Philippe Bossuat
b4a752fdd9 [wip]: inline P.-S. polynomial evaluation 2023-05-25 18:04:17 +02:00
Jean-Philippe Bossuat
2956f4107f [bignum/approximation]: added multi-interval Remez 2023-05-22 09:59:44 +02:00
Jean-Philippe
64c6428f3f rebased on #309 2023-05-22 09:58:57 +02:00
Jean-Philippe Bossuat
9782ae71b2 [rlwe]: evaluator not dynamically checks if automorphism index are generated 2023-05-22 09:48:32 +02:00
Jean-Philippe Bossuat
8a07cff4b7 [utils/bignu]: bug 2023-05-22 09:48:32 +02:00
Jean-Philippe Bossuat
98bd6429fd [utils/bignum]: minor change 2023-05-22 09:48:32 +02:00
Jean-Philippe Bossuat
ced4560507 [ckks/advanced]: arbitrary precision homomorphic encoding/decoding 2023-05-22 09:48:32 +02:00
Jean-Philippe Bossuat
45cbddce2f [ckks]: more improvements 2023-05-22 09:47:49 +02:00
Jean-Philippe Bossuat
1f6e86fb63 [bignum]: added Chebyshev interpolation 2023-05-22 09:47:49 +02:00
Jean-Philippe Bossuat
62a2f998b2 [ckks]: arbitrary precision 2023-05-22 09:47:49 +02:00