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