Arthur Meyre
6268752ac9
fix(integer): fix radix wopbs table size issue
2023-04-13 11:03:33 +02:00
David Testé
e0ed2d91c6
chore(ci): add shortint default ops to benchmarks
2023-04-12 19:11:15 +02:00
Arthur Meyre
fef389e002
chore(core): more reasonable LWE sub test
...
- otherwise we are just checking that x.wrapping_sub(x) == 0
2023-04-12 16:21:20 +02:00
Arthur Meyre
ae30f7c086
chore(bench): use clean inputs for default ops bench
...
- by design default ops are made to work best on clean CTs
2023-04-12 15:48:00 +02:00
Arthur Meyre
3f719a30f6
chore(tfhe): update check toolchain
2023-04-12 15:47:46 +02:00
tmontaigu
d28880ac30
chore(makefile): allow passing cargo profile
...
This allows to invoke the Makefile with a cargo profile
eg:
- `make CARGO_PROFILE=devo build_integer`
- `make CARGO_PROFILE=dev build_integer`
- `make CARGO_PROFILE=release build_integer`
By default still use release profile.
2023-04-12 12:39:54 +02:00
Arthur Meyre
ca9cdc0e73
chore(tfhe): add fpcc target to have a fast pcc locally
2023-04-12 11:21:10 +02:00
Arthur Meyre
f768e62d89
refactor(tfhe): add support for power of 2 q for LWE linalg + KS + PBS
2023-04-11 23:01:25 +02:00
tmontaigu
ee96a0ff18
chore(hlapi): use 'default' ops
2023-04-11 21:56:01 +02:00
J-B Orfila
ee944b3129
chore(ci): add default op
2023-04-11 21:35:56 +02:00
David Testé
672f855770
chore(ci): make curl based job step fails upon 4xx or 5xx response
2023-04-11 21:35:56 +02:00
David Testé
362992a4ba
chore(ci): benchmark only fastest integer operations
...
This is done to speed-up execution and to avoid having benchmark
job running for more than 6 hours in GitHub Actions. The selected
operations set gathers the ones that most user would look for, i.e
the fastest and smartest ones.
2023-04-11 21:35:56 +02:00
David Testé
2b24eb304d
chore(ci): record benchmarks parameters to be stored in database
...
This is done to comply with the new Zama benchmark standard.
Exhaustive parameters list is stored so once it's parsed and send
to database, one can easily filter results on such parameters in
visualization tool.
2023-04-11 21:35:56 +02:00
Arthur Meyre
b484b8a851
chore(core): add multi bit PBS bench structure
2023-04-11 21:35:56 +02:00
Arthur Meyre
6dea738725
chore(integer): fix default scalar_mul missing full propagate
2023-04-11 21:29:12 +02:00
Arthur Meyre
3bb342879f
chore(tfhe): temporarily disable integer 3_3 tests
2023-04-11 21:29:12 +02:00
Jérémy Zaccherini
9f024e2dac
chore(tfhe): update design and links of the README.md
2023-04-11 21:28:44 +02:00
tmontaigu
190b483d23
chore(tfhe): rename typed_api to high_level_api
...
high_level_api makes it easier to understand
what this api brings (at least more than typed_api does)
and is term used in the documenation
2023-04-11 20:57:36 +02:00
Arthur Meyre
e799d240a7
chore(c_api): allow to build in a simple cargo command, requires nightly
2023-04-11 19:51:51 +02:00
Arthur Meyre
16596137c1
chore(integer): disable smart_add for params 1_1 which is very slow
2023-04-11 19:05:17 +02:00
Arthur Meyre
03cd7ef15a
feat(integer): add default scalar shift ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
4cda0a7211
feat(integer): add default sub op
2023-04-11 19:05:17 +02:00
Arthur Meyre
9b668c1d50
feat(integer): add default scalar ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
dc4d9c7968
feat(integer): add default neg op
2023-04-11 19:05:17 +02:00
Arthur Meyre
e3e7abd652
feat(integer): add default mul ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
4265fbe67e
feat(integer): add "default" radix_parallel comparison ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
337400ce3d
feat(integer): add "default" radix_parallel bitwise ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
be650d8e6b
feat(integer): add "default" radix_parallel add ops
2023-04-11 19:05:17 +02:00
Arthur Meyre
47604a6297
feat(shortint): add "default" sub operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
95d6fc5b1b
feat(shortint): add "default" shift operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
19a6855b82
chore(shortint): add default scalar ops tests
2023-04-11 19:01:12 +02:00
Arthur Meyre
f894c33bfd
feat(shortint): add "default" scalar sub operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
6578aff8a4
feat(shortint): add "default" scalar mul operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
9096c62f32
feat(shortint): add "default" scalar add operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
22f186af17
feat(shortint): add "default" neg operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
7820523d1f
feat(shortint): add "default" mul ops
2023-04-11 19:01:12 +02:00
Arthur Meyre
c0386c7e54
feat(shortint): add "default" div and mod operations
2023-04-11 19:01:12 +02:00
Arthur Meyre
1ea73a68c4
feat(shortint): add "default" comp_op
2023-04-11 19:01:12 +02:00
Arthur Meyre
6a02ae04e1
feat(shortint): add "default" bitwise ops
2023-04-11 19:01:12 +02:00
Arthur Meyre
becd11b45f
feat(shortint): add "default" add and add_assign operators
2023-04-11 19:01:12 +02:00
Arthur Meyre
366964f1e6
feat(shortint): add function to check if a ciphertext has an empty carry
2023-04-11 19:01:12 +02:00
Arthur Meyre
32f8561af1
chore(tfhe): add devo profile to be able to iterate faster on tests
2023-04-11 19:01:12 +02:00
tmontaigu
063ad26b9e
feat(tfhe): add CompressedPublicKey
2023-04-11 18:04:42 +02:00
tmontaigu
dba18a889a
feat(hlapi): add 32, 64, 128 bits types
2023-04-11 16:58:32 +02:00
tmontaigu
0f5e1f0141
feat(c_api): add a C API of the high level API
...
One notable change is that since this C API
relies a lot on macro_rules! to be generated
we have to activate cbindgen's `expand` option,
which will use cargo-expand to expand macros.
However this means we can't call bindgen from the build.rs
as it seems to lead to a infinite-loop
(build.rs calls bindgen which calls cargo-expand which calls build.rs...)
So we call the cbindgen binary via the makefile.
2023-04-11 13:41:18 +02:00
J-B Orfila
d4c7aff90b
fix(integer): fix unchecked_add in unchecked_mul
2023-04-07 15:55:08 +02:00
Arthur Meyre
1d9f8c57da
chore(core): fix multi bit parameters
2023-04-07 11:55:33 +02:00
J-B Orfila
aa58748d33
refactor(integer): simplify PubliKey API
2023-04-07 11:55:33 +02:00
tmontaigu
412463ed27
chore(shortint): remove the Default impl for Parameters
...
The rationale behind this is that, `shortint::Parameters::default()`
does not convey the information about how much bit of message
and carry this parameter provides, and so might lead to
errors/confusions.
Instead user will be forced to use the param name like
`PARAM_MESSAGE_2_CARRY_2` which is less ambiguous.
This is obviously a breaking change.
2023-04-07 10:26:33 +02:00
sarah el kazdadi
72e7f16179
feat(core): implement 128bit pbs
2023-04-06 17:14:11 +02:00