38 Commits

Author SHA1 Message Date
lehugueni
c426851de6 refactor: add separate pool structs 2025-06-19 16:58:07 +02:00
lehugueni
613012b0a2 refactor: remove pools logic for higher-level structs 2025-04-24 09:39:08 +02:00
lehugueni
ee2850bad4 Merge branch 'main' into uint64-syncpool 2025-02-20 16:17:28 +01:00
Jean-Philippe Bossuat
cf2e63d73d Applied suggested changes 2025-01-21 09:40:37 +01:00
Jean-Philippe Bossuat
952047663d Cleared all instances of G115 2025-01-21 09:15:17 +01:00
lehugueni
ee42b96e77 refactor: keep only BuffFromUintPool and cleanup 2025-01-16 11:07:19 +01:00
lehugueni
77c62e6421 bufferpool uint64 in ring 2024-12-12 14:26:08 +01:00
lehugueni
5e6a37a7e4 change generic 2024-12-11 15:40:06 +01:00
lehugueni
0504cfa1a6 freelist + benchmarking 2024-12-03 10:41:56 +01:00
lehugueni
6cb65c300a use interface+generic 2024-11-29 14:58:21 +01:00
Andrea Caforio
f8b84f5165 Merge pull request #492 from tuneinsight/he-collapse
v6.0.0
2024-08-06 14:46:08 +02:00
Jean-Philippe Bossuat
c031b14be1 updated imports to v5 2023-11-14 19:15:38 +01:00
Jean-Philippe Bossuat
5bc8a934cc Update utils/structs/map.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:54 +01:00
Jean-Philippe Bossuat
494ff5f47d Update utils/structs/vector.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:46 +01:00
Jean-Philippe Bossuat
089a4b470f Update utils/structs/vector.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:37 +01:00
Jean-Philippe Bossuat
9abfb274bf Update utils/structs/matrix.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:26 +01:00
Jean-Philippe Bossuat
450cd1880e Update utils/structs/matrix.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:04:04 +01:00
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
4bb5cdbee8 [utils/buffer]: added generics 2023-10-04 10:36:15 +02:00
Jean-Philippe Bossuat
46f97267da generic Operand 2023-07-15 19:27:30 +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 Bossuat
0c6d0c23a8 staticcheck & gosec 2023-06-27 17:14:41 +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
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
88488da99e [structs]: fixed EOF for readfrom if struct was empty 2023-05-01 21:10:26 +02:00
Jean-Philippe Bossuat
5951af1c23 staticcheck 2023-04-24 21:36:51 +02:00
Jean-Philippe Bossuat
d5f0f04b68 [all]: updated API for encoding/decoding in place 2023-04-24 18:44:05 +02:00
Jean-Philippe Bossuat
dbb72479f0 [structs]: added generic copynew 2023-04-06 10:40:23 +02:00
Jean-Philippe Bossuat
cc79a939d8 [rlwe]: adapted structs to the utils/structs package 2023-04-05 15:53:14 +02:00
Jean-Philippe Bossuat
179d8cbdc8 [utils]: added structs 2023-04-04 13:40:31 +02:00