fix(doc): add syntax highlighting to rust doctests

This commit is contained in:
Mayeul@Zama
2024-03-14 10:16:46 +01:00
committed by mayeul-zama
parent 5976ba51b1
commit 53b89fdfae
101 changed files with 1052 additions and 1109 deletions

View File

@@ -52,9 +52,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("hello", "hello");
@@ -106,9 +106,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("hello", "world");
@@ -133,9 +133,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("apple", "banana");
@@ -163,9 +163,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("banana", "apple");
@@ -194,9 +194,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("apple", "banana");
@@ -225,9 +225,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("banana", "apple");

View File

@@ -12,9 +12,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::{FheStringLen, gen_keys};
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::{gen_keys, FheStringLen};
///
/// let (ck, sk) = gen_keys();
/// let s = "hello";
@@ -71,9 +71,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::{FheStringIsEmpty, gen_keys};
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::{gen_keys, FheStringIsEmpty};
///
/// let (ck, sk) = gen_keys();
/// let s = "";
@@ -118,9 +118,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = "Hello World";
@@ -172,9 +172,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = "Hello World";
@@ -232,9 +232,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s1, s2) = ("Hello", "hello");
@@ -267,9 +267,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (lhs, rhs) = ("Hello, ", "world!");
@@ -318,9 +318,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, UIntArg};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, UIntArg};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = "hi";

View File

@@ -87,9 +87,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (bananas, nana, apples) = ("bananas", "nana", "apples");
@@ -147,9 +147,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (bananas, ba, nan) = ("bananas", "ba", "nan");
@@ -216,9 +216,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (bananas, anas, nana) = ("bananas", "anas", "nana");

View File

@@ -105,9 +105,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (haystack, needle) = ("hello world", "world");
@@ -174,9 +174,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (haystack, needle) = ("hello world world", "world");

View File

@@ -229,9 +229,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, from, to) = ("hello", "l", "r");
@@ -354,9 +354,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, from, to) = ("hi", "i", "o");

View File

@@ -73,9 +73,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = (" hello world", " ");
@@ -143,9 +143,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = (" hello world", " ");

View File

@@ -46,9 +46,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello ", " ");
@@ -91,9 +91,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello ", " ");
@@ -137,9 +137,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello world", " ");
@@ -189,9 +189,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern, UIntArg};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello world", " ");
@@ -239,9 +239,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello world ", " ");
@@ -287,9 +287,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello world ", " ");
@@ -334,9 +334,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{FheString, GenericPattern};
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::{FheString, GenericPattern};
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let (s, pat) = ("hello world ", " ");

View File

@@ -107,9 +107,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, prefix, not_prefix) = ("hello world", "hello", "world");
@@ -190,9 +190,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::{ClearString, FheString, GenericPattern};
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let (s, suffix, not_suffix) = ("hello world", "world", "hello");

View File

@@ -183,9 +183,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = " hello world";
@@ -239,9 +239,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = "hello world ";
@@ -279,9 +279,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::gen_keys;
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::gen_keys;
///
/// let (ck, sk) = gen_keys();
/// let s = " hello world ";
@@ -313,9 +313,9 @@ impl ServerKey {
///
/// # Examples
///
/// ```
/// # use crate::ciphertext::FheString;
/// # use crate::server_key::{FheStringIterator, gen_keys};
/// ```rust
/// use crate::ciphertext::FheString;
/// use crate::server_key::{gen_keys, FheStringIterator};
///
/// let (ck, sk) = gen_keys();
/// let s = "hello \t\nworld ";

View File

@@ -51,7 +51,6 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -63,7 +62,6 @@ impl ClientKey {
/// // Decryption:
/// let dec = cks.decrypt(&ct);
/// assert_eq!(true, dec);
/// # }
/// ```
pub fn encrypt(&self, message: bool) -> Ciphertext {
BooleanEngine::with_thread_local_mut(|engine| engine.encrypt(message, self))
@@ -74,7 +72,6 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -88,7 +85,6 @@ impl ClientKey {
/// // Decryption:
/// let dec = cks.decrypt(&ct);
/// assert_eq!(true, dec);
/// # }
/// ```
pub fn encrypt_compressed(&self, message: bool) -> CompressedCiphertext {
BooleanEngine::with_thread_local_mut(|engine| engine.encrypt_compressed(message, self))
@@ -99,7 +95,6 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -111,7 +106,6 @@ impl ClientKey {
/// // Decryption:
/// let dec = cks.decrypt(&ct);
/// assert_eq!(true, dec);
/// # }
/// ```
pub fn decrypt(&self, ct: &Ciphertext) -> bool {
BooleanEngine::with_thread_local_mut(|engine| engine.decrypt(ct, self))
@@ -122,14 +116,12 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::client_key::ClientKey;
/// use tfhe::boolean::parameters::PARAMETERS_ERROR_PROB_2_POW_MINUS_165;
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key:
/// let cks = ClientKey::new(&PARAMETERS_ERROR_PROB_2_POW_MINUS_165);
/// # }
/// ```
pub fn new(parameter_set: &BooleanParameters) -> Self {
BooleanEngine::with_thread_local_mut(|engine| engine.create_client_key(*parameter_set))
@@ -140,7 +132,6 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::client_key::ClientKey;
/// use tfhe::boolean::parameters::PARAMETERS_ERROR_PROB_2_POW_MINUS_165;
/// use tfhe::boolean::prelude::*;
@@ -148,7 +139,6 @@ impl ClientKey {
/// // Generate the client key:
/// let cks = ClientKey::new(&PARAMETERS_ERROR_PROB_2_POW_MINUS_165);
/// let raw_parts = cks.into_raw_parts();
/// # }
/// ```
pub fn into_raw_parts(
self,
@@ -175,7 +165,6 @@ impl ClientKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::client_key::ClientKey;
/// use tfhe::boolean::parameters::PARAMETERS_ERROR_PROB_2_POW_MINUS_165;
/// use tfhe::boolean::prelude::*;
@@ -184,7 +173,6 @@ impl ClientKey {
/// let cks = ClientKey::new(&PARAMETERS_ERROR_PROB_2_POW_MINUS_165);
/// let (lwe_secret_key, glwe_secret_key, parameters) = cks.into_raw_parts();
/// let reconstructed_cks = ClientKey::new_from_raw_parts(lwe_secret_key, glwe_secret_key, parameters);
/// # }
pub fn new_from_raw_parts(
lwe_secret_key: LweSecretKeyOwned<u32>,
glwe_secret_key: GlweSecretKeyOwned<u32>,

View File

@@ -15,8 +15,6 @@
//! homomorphically.
//!
//! ```rust
//! # fn main() {
//!
//! use tfhe::boolean::gen_keys;
//! use tfhe::boolean::prelude::*;
//!
@@ -49,7 +47,6 @@
//! let ct_9 = server_key.mux(&ct_7, &ct_3, &ct_8);
//! let output_3 = client_key.decrypt(&ct_9);
//! assert_eq!(output_3, true);
//! # }
//! ```
use crate::boolean::client_key::ClientKey;
@@ -110,12 +107,10 @@ pub(crate) fn random_integer() -> u32 {
/// meant to be published (the client sends it to the server).
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::gen_keys;
/// use tfhe::boolean::prelude::*;
/// // generate the client key and the server key:
/// let (cks, sks) = gen_keys();
/// # }
/// ```
pub fn gen_keys() -> (ClientKey, ServerKey) {
// generate the client key

View File

@@ -17,20 +17,17 @@ impl CompressedPublicKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
/// let (cks, sks) = gen_keys();
///
/// let cpks = CompressedPublicKey::new(&cks);
/// # }
/// ```
///
/// Decompressing the key
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -38,7 +35,6 @@ impl CompressedPublicKey {
///
/// let cpks = CompressedPublicKey::new(&cks);
/// let pks = PublicKey::from(cpks);
/// # }
/// ```
pub fn new(client_key: &ClientKey) -> Self {
BooleanEngine::with_thread_local_mut(|engine| {
@@ -112,7 +108,6 @@ impl CompressedPublicKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -128,7 +123,6 @@ impl CompressedPublicKey {
/// // Decryption:
/// let dec = cks.decrypt(&ct_res);
/// assert_eq!(false, dec);
/// # }
/// ```
pub fn encrypt(&self, message: bool) -> Ciphertext {
BooleanEngine::with_thread_local_mut(|engine| {

View File

@@ -22,7 +22,6 @@ impl PublicKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
@@ -38,7 +37,6 @@ impl PublicKey {
/// // Decryption:
/// let dec = cks.decrypt(&ct_res);
/// assert_eq!(false, dec);
/// # }
/// ```
pub fn encrypt(&self, message: bool) -> Ciphertext {
BooleanEngine::with_thread_local_mut(|engine| engine.encrypt_with_public_key(message, self))
@@ -49,14 +47,12 @@ impl PublicKey {
/// # Example
///
/// ```rust
/// # fn main() {
/// use tfhe::boolean::prelude::*;
///
/// // Generate the client key and the server key:
/// let (cks, sks) = gen_keys();
///
/// let pks = PublicKey::new(&cks);
/// # }
/// ```
pub fn new(client_key: &ClientKey) -> Self {
BooleanEngine::with_thread_local_mut(|engine| engine.create_public_key(client_key))

View File

@@ -16,7 +16,7 @@ use rayon::prelude::*;
/// See the [`GGSW ciphertext formal definition`](`GgswCiphertext#ggsw-encryption`) for the
/// definition of the encryption algorithm.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -158,7 +158,7 @@ pub fn encrypt_constant_ggsw_ciphertext<Scalar, NoiseDistribution, KeyCont, Outp
///
/// New tasks are created per level matrix and per row of each level matrix.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -419,7 +419,7 @@ pub fn encrypt_constant_seeded_ggsw_ciphertext_with_existing_generator<
/// See the [`formal definition`](`GgswCiphertext#ggsw-encryption`) for the definition of the
/// encryption algorithm.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -607,7 +607,7 @@ pub fn par_encrypt_constant_seeded_ggsw_ciphertext_with_existing_generator<
///
/// New tasks are created per level matrix and per row of each level matrix.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -765,7 +765,7 @@ fn encrypt_constant_seeded_ggsw_level_matrix_row<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -76,7 +76,7 @@ pub fn fill_glwe_mask_and_body_for_encryption_assign<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -310,7 +310,7 @@ pub fn fill_glwe_mask_and_body_for_encryption<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -431,7 +431,7 @@ pub fn encrypt_glwe_ciphertext<Scalar, NoiseDistribution, KeyCont, InputCont, Ou
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -689,7 +689,7 @@ pub fn decrypt_glwe_ciphertext_list<Scalar, KeyCont, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -783,7 +783,7 @@ pub fn trivially_encrypt_glwe_ciphertext<Scalar, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -932,7 +932,7 @@ pub fn encrypt_seeded_glwe_ciphertext_with_existing_generator<
/// Encrypt a [`PlaintextList`] in a
/// [`compressed/seeded GLWE ciphertext`](`SeededGlweCiphertext`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1120,7 +1120,7 @@ pub fn encrypt_seeded_glwe_ciphertext_list_with_existing_generator<
/// Encrypt a [`PlaintextList`] in a
/// [`compressed/seeded LWE ciphertext list`](`SeededLweCiphertextList`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -10,7 +10,7 @@ use crate::core_crypto::entities::*;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -103,7 +103,7 @@ pub fn glwe_ciphertext_add_assign<Scalar, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -207,7 +207,7 @@ pub fn glwe_ciphertext_add<Scalar, OutputCont, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -299,7 +299,7 @@ pub fn glwe_ciphertext_plaintext_list_add_assign<Scalar, InCont, PlainCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -391,7 +391,7 @@ pub fn glwe_ciphertext_plaintext_list_sub_assign<Scalar, InCont, PlainCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -483,7 +483,7 @@ pub fn glwe_ciphertext_plaintext_add_assign<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -574,7 +574,7 @@ pub fn glwe_ciphertext_plaintext_sub_assign<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -655,7 +655,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -739,7 +739,7 @@ pub fn glwe_ciphertext_cleartext_mul_assign<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -835,7 +835,7 @@ pub fn glwe_ciphertext_cleartext_mul<Scalar, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -928,7 +928,7 @@ pub fn glwe_ciphertext_sub_assign<Scalar, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -17,7 +17,7 @@ use rayon::prelude::*;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -156,7 +156,7 @@ pub fn extract_lwe_sample_from_glwe_ciphertext<Scalar, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -263,7 +263,7 @@ pub fn par_extract_lwe_sample_from_glwe_ciphertext<Scalar, InputCont, OutputCont
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -33,7 +33,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -16,7 +16,7 @@ use rayon::prelude::*;
///
/// Consider using [`par_generate_lwe_bootstrap_key`] for better key generation times.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -197,7 +197,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -183,7 +183,7 @@ pub fn fill_lwe_mask_and_body_for_encryption_other_mod<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -275,7 +275,7 @@ pub fn encrypt_lwe_ciphertext<Scalar, NoiseDistribution, KeyCont, OutputCont, Ge
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -366,7 +366,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -440,7 +440,7 @@ pub fn trivially_encrypt_lwe_ciphertext<Scalar, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -616,7 +616,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -727,7 +727,7 @@ pub fn encrypt_lwe_ciphertext_list<Scalar, NoiseDistribution, KeyCont, OutputCon
/// See this [`formal definition`](`encrypt_lwe_ciphertext#formal-definition`) for the definition
/// of the LWE encryption algorithm.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -880,7 +880,7 @@ pub fn decrypt_lwe_ciphertext_list<Scalar, KeyCont, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -998,7 +998,7 @@ pub fn encrypt_lwe_ciphertext_with_public_key<Scalar, KeyCont, OutputCont, Gen>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1186,7 +1186,7 @@ pub fn encrypt_seeded_lwe_ciphertext_list_with_existing_generator<
/// Encrypt a [`PlaintextList`] in a
/// [`compressed/seeded LWE ciphertext list`](`SeededLweCiphertextList`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1357,7 +1357,7 @@ pub fn par_encrypt_seeded_lwe_ciphertext_list_with_existing_generator<
/// Parallel variant of [`encrypt_seeded_lwe_ciphertext_list`].
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1504,7 +1504,7 @@ pub fn encrypt_seeded_lwe_ciphertext_with_existing_generator<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1596,7 +1596,7 @@ pub fn encrypt_seeded_lwe_ciphertext<Scalar, NoiseDistribution, KeyCont, NoiseSe
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1689,7 +1689,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1829,7 +1829,7 @@ pub fn encrypt_lwe_ciphertext_with_compact_public_key<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -2052,7 +2052,7 @@ pub fn encrypt_lwe_compact_ciphertext_list_with_compact_public_key<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -19,7 +19,7 @@ use rayon::prelude::*;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -192,7 +192,7 @@ pub fn keyswitch_lwe_ciphertext<Scalar, KSKCont, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -295,7 +295,7 @@ pub fn par_keyswitch_lwe_ciphertext<Scalar, KSKCont, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -13,7 +13,7 @@ use crate::core_crypto::entities::*;
/// Fill an [`LWE keyswitch key`](`LweKeyswitchKey`) with an actual keyswitching key constructed
/// from an input and an output key [`LWE secret key`](`LweSecretKey`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -186,7 +186,7 @@ where
/// Fill an [`LWE keyswitch key`](`SeededLweKeyswitchKey`) with an actual keyswitching key
/// constructed from an input and an output key [`LWE secret key`](`LweSecretKey`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -11,7 +11,7 @@ use crate::core_crypto::entities::*;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -133,7 +133,7 @@ pub fn lwe_ciphertext_add_assign_other_mod<Scalar, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -223,7 +223,7 @@ pub fn lwe_ciphertext_add<Scalar, OutputCont, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -332,7 +332,7 @@ pub fn lwe_ciphertext_plaintext_add_assign_other_mod<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -440,7 +440,7 @@ pub fn lwe_ciphertext_plaintext_sub_assign_other_mod<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -505,7 +505,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -573,7 +573,7 @@ pub fn lwe_ciphertext_cleartext_mul_assign<Scalar, InCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -653,7 +653,7 @@ pub fn lwe_ciphertext_cleartext_mul<Scalar, InputCont, OutputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -732,7 +732,7 @@ pub fn lwe_ciphertext_sub_assign<Scalar, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -9,7 +9,7 @@ use crate::core_crypto::commons::traits::*;
use crate::core_crypto::entities::*;
use rayon::prelude::*;
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -226,7 +226,7 @@ where
bsk
}
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -84,7 +84,7 @@ pub fn prepare_multi_bit_ggsw_mem_optimized<
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -816,7 +816,7 @@ pub fn multi_bit_deterministic_blind_rotate_assign<Scalar, InputCont, OutputCont
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -13,7 +13,7 @@ use rayon::prelude::*;
/// Apply a keyswitch on an input [`LWE ciphertext`](`LweCiphertext`) and
/// write the result in an output [`GLWE ciphertext`](`GlweCiphertext`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -191,7 +191,7 @@ pub fn keyswitch_lwe_ciphertext_into_glwe_ciphertext<Scalar, KeyCont, InputCont,
/// list`](`LweCiphertextList`) and pack the result in an output [`GLWE
/// ciphertext`](`GlweCiphertext`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -386,7 +386,7 @@ pub fn keyswitch_lwe_ciphertext_list_and_pack_in_glwe_ciphertext<
///
/// This will use all threads available in the current rayon thread pool.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -523,7 +523,7 @@ pub fn par_keyswitch_lwe_ciphertext_list_and_pack_in_glwe_ciphertext<
/// the available number of threads in the current rayon thread pool then only the number of
/// available threads will be used. Note that `thread_count` cannot be 0.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -19,7 +19,7 @@ use crate::core_crypto::entities::{
/// keyswitching key constructed from an input [`LWE secret key`](`LweSecretKey`) and an output
/// [`GLWE secret key`](`GlweSecretKey`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -210,7 +210,7 @@ where
/// constructed from an input [`LWE secret key`](`LweSecretKey`) and an output
/// [`GLWE secret key`](`GlweSecretKey`).
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -29,7 +29,7 @@ use dyn_stack::{PodStack, SizeOverflow, StackReq};
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // This example recreates a PBS by combining a blind rotate and a sample extract.
@@ -300,7 +300,7 @@ pub fn blind_rotate_assign_mem_optimized_requirement<Scalar>(
///
/// ```text
/// out <- out + glwe * ggsw
/// ```
/// ```rust
///
/// If you want to manage the computation memory manually you can use
/// [`add_external_product_assign_mem_optimized`].
@@ -343,11 +343,11 @@ pub fn add_external_product_assign<Scalar, OutputGlweCont, InputGlweCont, GgswCo
///
/// ```text
/// out <- out + glwe * ggsw
/// ```
/// ```rust
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
/// // computations
@@ -529,7 +529,7 @@ pub fn add_external_product_assign_mem_optimized_requirement<Scalar>(
/// ```text
/// ct1 <- ct1 - ct0
/// ct0 <- ct1 * ggsw + ct0
/// ```
/// ```rust
///
/// Therefore encrypting values other than 0 or 1 in the `ggsw` will yield a linear combination of
/// `ct0` and `ct1`
@@ -544,7 +544,7 @@ pub fn add_external_product_assign_mem_optimized_requirement<Scalar>(
/// return ct1
/// else:
/// return ct0
/// ```
/// ```rust
///
/// If you want to manage the computation memory manually you can use
/// [`cmux_assign_mem_optimized`].
@@ -583,7 +583,7 @@ pub fn cmux_assign<Scalar, Cont0, Cont1, GgswCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
/// // computations
@@ -821,7 +821,7 @@ pub fn cmux_assign_mem_optimized_requirement<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -1132,7 +1132,7 @@ pub fn programmable_bootstrap_lwe_ciphertext_mem_optimized_requirement<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -30,7 +30,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -409,7 +409,7 @@ pub fn extract_bits_from_lwe_ciphertext_mem_optimized_requirement<Scalar>(
/// ```text
/// small lut for 1st output ciphertext|...|small lut for 4th output ciphertext
/// |[polynomial 1] ... [polynomial 64]|...|[polynomial 1] ... [polynomial 64]|
/// ```
/// ```rust
///
/// The polynomials in the above representation are not necessarily the same, this is just for
/// illustration purposes.
@@ -423,14 +423,14 @@ pub fn extract_bits_from_lwe_ciphertext_mem_optimized_requirement<Scalar>(
/// ```text
/// small lut for 1st output ciphertext|...|small lut for 4th output ciphertext
/// |[ polynomial 1 ]|...|[ polynomial 1 ]|
/// ```
/// ```rust
///
/// The caller must provide a properly configured [`FftView`] object and a `PodStack` used as a
/// memory buffer having a capacity at least as large as the result of
/// [`circuit_bootstrap_boolean_vertical_packing_lwe_ciphertext_list_mem_optimized_requirement`].
///
/// # Example
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -14,7 +14,7 @@ use crate::core_crypto::entities::*;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::entities::*;
/// let mut first = Polynomial::from_container(vec![1u8, 2, 3, 4, 5, 6]);
@@ -43,7 +43,7 @@ pub fn polynomial_wrapping_add_assign<Scalar, OutputCont, InputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::entities::*;
/// let mut first = Polynomial::from_container(vec![1u8, 2, 3, 4, 5, 6]);
@@ -79,7 +79,7 @@ pub fn polynomial_wrapping_sub_assign<Scalar, OutputCont, InputCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -153,7 +153,7 @@ fn polynomial_wrapping_add_mul_assign_schoolbook<Scalar, OutputCont, InputCont1,
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::entities::*;
/// let poly_1 = Polynomial::from_container(vec![1_u8, 2, 3]);
@@ -207,7 +207,7 @@ pub fn polynomial_wrapping_add_mul_assign<Scalar, OutputCont, InputCont1, InputC
///
/// # Examples
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -249,7 +249,7 @@ pub fn polynomial_wrapping_monic_monomial_div_assign<Scalar, OutputCont>(
///
/// # Examples
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -302,7 +302,7 @@ fn copy_without_neg<Scalar: UnsignedInteger>(dst: &mut [Scalar], src: &[Scalar])
///
/// # Examples
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -362,7 +362,7 @@ pub fn polynomial_wrapping_monic_monomial_div<Scalar, OutputCont, InputCont>(
///
/// # Examples
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -504,7 +504,7 @@ pub(crate) fn polynomial_wrapping_monic_monomial_mul_and_subtract<Scalar, Output
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -579,7 +579,7 @@ fn polynomial_wrapping_sub_mul_assign_schoolbook<Scalar, OutputCont, InputCont1,
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::entities::*;
/// let poly_1 = Polynomial::from_container(vec![1_u8, 2, 3]);
@@ -633,7 +633,7 @@ pub fn polynomial_wrapping_sub_mul_assign<Scalar, OutputCont, InputCont1, InputC
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;
@@ -667,7 +667,7 @@ pub fn polynomial_wrapping_mul<Scalar, OutputCont, LhsCont, RhsCont>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::polynomial_algorithms::*;
/// use tfhe::core_crypto::commons::parameters::*;
/// use tfhe::core_crypto::entities::*;

View File

@@ -13,7 +13,7 @@ use crate::core_crypto::entities::Polynomial;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -72,7 +72,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -139,7 +139,7 @@ pub fn slice_wrapping_add_custom_mod<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -192,7 +192,7 @@ pub fn slice_wrapping_add_assign_custom_mod<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -227,7 +227,7 @@ pub fn slice_wrapping_add_scalar_mul_assign<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -294,7 +294,7 @@ pub fn slice_wrapping_sub_custom_mod<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -353,7 +353,7 @@ pub fn slice_wrapping_sub_assign_custom_mod<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let second = vec![255u8, 255, 255, 1, 2, 3];
@@ -490,7 +490,7 @@ pub fn slice_wrapping_sub_scalar_mul_assign_custom_modulus<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// slice_wrapping_opposite_assign(&mut first);
@@ -525,7 +525,7 @@ pub fn slice_wrapping_opposite_assign_custom_mod<Scalar>(
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 6];
/// let scalar = 252;
@@ -568,7 +568,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![1u8, 2, 3, 4, 5, 255];
/// let scalar = 1;
@@ -592,7 +592,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let mut first = vec![0u8, 1, 2, 3, 4, 5];
/// let scalar = 1;
@@ -610,7 +610,7 @@ where
/// Primitive for compact LWE public key
///
/// Here $i$ from section 3 of <https://eprint.iacr.org/2023/603> is taken equal to $n$.
/// ```
/// ```rust
/// use tfhe::core_crypto::algorithms::slice_algorithms::*;
/// let lhs = vec![1u8, 2u8, 3u8];
/// let rhs = vec![4u8, 5u8, 6u8];

View File

@@ -43,7 +43,7 @@ pub trait DispersionParameter: Copy {
///
/// # Example:
///
/// ```
/// ```rust
/// use tfhe::core_crypto::commons::dispersion::{DispersionParameter, LogStandardDev};
/// let params = LogStandardDev::from_log_standard_dev(-25.);
/// assert_eq!(params.get_standard_dev(), 2_f64.powf(-25.));
@@ -97,7 +97,7 @@ impl DispersionParameter for LogStandardDev {
///
/// # Example:
///
/// ```
/// ```rust
/// use tfhe::core_crypto::commons::dispersion::{DispersionParameter, StandardDev};
/// let params = StandardDev::from_standard_dev(2_f64.powf(-25.));
/// assert_eq!(params.get_standard_dev(), 2_f64.powf(-25.));
@@ -148,7 +148,7 @@ impl DispersionParameter for StandardDev {
///
/// # Example:
///
/// ```
/// ```rust
/// use tfhe::core_crypto::commons::dispersion::{DispersionParameter, Variance};
/// let params = Variance::from_variance(2_f64.powi(-50));
/// assert_eq!(params.get_standard_dev(), 2_f64.powf(-25.));

View File

@@ -121,7 +121,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -465,7 +465,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -485,7 +485,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -537,7 +537,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -604,7 +604,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -637,7 +637,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -688,7 +688,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -722,7 +722,7 @@ impl<G: ByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;
@@ -779,7 +779,7 @@ impl<G: ParallelByteRandomGenerator> RandomGenerator<G> {
///
/// # Example
///
/// ```
/// ```rust
/// use concrete_csprng::generators::SoftwareRandomGenerator;
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::commons::math::random::RandomGenerator;

View File

@@ -8,7 +8,7 @@ pub struct Cleartext<T: Numeric>(pub T);
/// An immutable reference to a cleartext value.
///
/// Can be converted to a cleartext via a call to `into`
/// ```
/// ```rust
/// use tfhe::core_crypto::entities::*;
///
/// pub fn takes_cleartext(clear: Cleartext<u64>) {
@@ -26,7 +26,7 @@ pub struct CleartextRef<'data, T: Numeric>(pub &'data T);
/// A mutable reference to a cleartext (encoded) value.
///
/// Can be converted to a cleartext via a call to `into`
/// ```
/// ```rust
/// use tfhe::core_crypto::entities::*;
///
/// pub fn takes_cleartext(clear: Cleartext<u64>) {

View File

@@ -228,7 +228,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GgswCiphertext<C>
///
/// This docstring exhibits [`GgswCiphertext`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -512,7 +512,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GgswLevelMatrix<C>
///
/// This docstring exhibits [`GgswLevelMatrix`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -54,7 +54,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GgswCiphertextList
///
/// This docstring exhibits [`GgswCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -21,7 +21,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GlweBody<C> {
///
/// This docstring exhibits [`GlweBody`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -102,7 +102,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GlweMask<C> {
///
/// This docstring exhibits [`GlweMask`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -315,7 +315,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GlweCiphertext<C>
///
/// This docstring exhibits [`GlweCiphertext`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -42,7 +42,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> GlweCiphertextList
///
/// This docstring exhibits [`GlweCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -49,7 +49,7 @@ impl<Scalar, C: Container<Element = Scalar>> GlweSecretKey<C> {
///
/// This docstring exhibits [`GlweSecretKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -185,7 +185,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -149,7 +149,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweBootstrapKey<C>
///
/// This docstring exhibits [`LweBootstrapKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -223,7 +223,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweMask<C> {
///
/// This docstring exhibits [`LweMask`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -542,7 +542,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweCiphertext<C> {
///
/// This docstring exhibits [`LweCiphertext`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -40,7 +40,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweCiphertextList<
///
/// This docstring exhibits [`LweCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -76,7 +76,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweCompactCipherte
///
/// This docstring exhibits [`LweCompactCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -40,7 +40,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweCompactPublicKe
///
/// This docstring exhibits [`LweCompactPublicKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -118,7 +118,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweKeyswitchKey<C>
///
/// This docstring exhibits [`LweKeyswitchKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -74,7 +74,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweMultiBitBootstr
///
/// This docstring exhibits [`LweMultiBitBootstrapKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -59,7 +59,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LwePackingKeyswitc
///
/// This docstring exhibits [`LwePackingKeyswitchKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -78,7 +78,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>>
///
/// This docstring exhibits [`LwePrivateFunctionalPackingKeyswitchKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -56,7 +56,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>>
///
/// This docstring exhibits [`LwePrivateFunctionalPackingKeyswitchKeyList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -55,7 +55,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LwePublicKey<C> {
///
/// This docstring exhibits [`LwePublicKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -46,7 +46,7 @@ impl<Scalar, C: Container<Element = Scalar>> LweSecretKey<C> {
///
/// This docstring exhibits [`LweSecretKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -134,7 +134,7 @@ where
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -6,7 +6,7 @@ use crate::core_crypto::prelude::*;
/// The uncompacted result can be used as the input of a blind rotation to recover a low noise lwe
/// ciphertext
///
/// ```
/// ```rust
/// use concrete_csprng::seeders::Seed;
/// use tfhe::core_crypto::prelude::*;
/// use tfhe::core_crypto::fft_impl::common::modulus_switch;

View File

@@ -8,7 +8,7 @@ pub struct Plaintext<T: Numeric>(pub T);
/// An immutable reference to a plaintext (encoded) value.
///
/// Can be converted to a plaintext via a call to `into`
/// ```
/// ```rust
/// use tfhe::core_crypto::entities::*;
///
/// pub fn takes_plaintext(plain: Plaintext<u64>) {
@@ -26,7 +26,7 @@ pub struct PlaintextRef<'data, T: Numeric>(pub &'data T);
/// A mutable reference to a plaintext (encoded) value.
///
/// Can be converted to a plaintext via a call to `into`
/// ```
/// ```rust
/// use tfhe::core_crypto::entities::*;
///
/// pub fn takes_plaintext(plain: Plaintext<u64>) {

View File

@@ -31,7 +31,7 @@ impl<Scalar, C: Container<Element = Scalar>> PlaintextList<C> {
///
/// This docstring exhibits [`PlaintextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // Define parameters for PlaintextList creation

View File

@@ -45,7 +45,7 @@ impl<Scalar, C: Container<Element = Scalar>> Polynomial<C> {
///
/// This docstring exhibits [`Polynomial`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -33,7 +33,7 @@ impl<Scalar, C: Container<Element = Scalar>> PolynomialList<C> {
///
/// This docstring exhibits [`PolynomialList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -64,7 +64,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededGgswCipherte
///
/// This docstring exhibits [`SeededGgswCiphertext`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct
@@ -443,7 +443,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededGgswLevelMat
///
/// This docstring exhibits [`SeededGgswLevelMatrix`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -48,7 +48,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededGgswCipherte
///
/// This docstring exhibits [`SeededGgswCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -41,7 +41,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededGlweCipherte
///
/// This docstring exhibits [`SeededGlweCiphertext`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -43,7 +43,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededGlweCipherte
///
/// This docstring exhibits [`SeededGlweCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -54,7 +54,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweBootstrap
///
/// This docstring exhibits [`SeededLweBootstrapKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -64,7 +64,7 @@ impl<Scalar: UnsignedInteger> SeededLweCiphertext<Scalar> {
///
///F # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -43,7 +43,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweCiphertex
///
/// This docstring exhibits [`SeededLweCiphertextList`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -42,7 +42,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweCompactPu
///
/// This docstring exhibits [`SeededLweCompactPublicKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -53,7 +53,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweKeyswitch
///
/// This docstring exhibits [`SeededLweKeyswitchKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -56,7 +56,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweMultiBitB
///
/// This docstring exhibits [`SeededLweMultiBitBootstrapKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -58,7 +58,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLwePackingKe
///
/// This docstring exhibits [`SeededLwePackingKeyswitchKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -61,7 +61,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLwePublicKey
///
/// This docstring exhibits [`SeededLwePublicKey`] primitives usage.
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// // DISCLAIMER: these toy example parameters are not guaranteed to be secure or yield correct

View File

@@ -58,7 +58,7 @@ mod wasm_seeder {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::core_crypto::prelude::*;
///
/// let mut seeder = new_seeder();

View File

@@ -103,10 +103,10 @@ impl FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// // This is not a trivial ciphertext as we use a client key to encrypt.
@@ -131,10 +131,10 @@ impl FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let non_trivial = FheBool::encrypt(false, &client_key);
@@ -218,10 +218,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -259,10 +259,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -302,10 +302,10 @@ impl FheEq<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -341,10 +341,10 @@ impl FheEq<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -387,10 +387,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -415,10 +415,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -461,10 +461,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -490,10 +490,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -537,10 +537,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -566,10 +566,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -610,10 +610,10 @@ impl BitAnd<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -635,10 +635,10 @@ impl BitAnd<bool> for &FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -677,10 +677,10 @@ impl BitOr<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -702,10 +702,10 @@ impl BitOr<bool> for &FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -744,10 +744,10 @@ impl BitXor<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -769,10 +769,10 @@ impl BitXor<bool> for &FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -811,10 +811,10 @@ impl BitAnd<FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -836,10 +836,10 @@ impl BitAnd<&FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -862,10 +862,10 @@ impl BitOr<FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -887,10 +887,10 @@ impl BitOr<&FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -913,10 +913,10 @@ impl BitXor<FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -939,10 +939,10 @@ impl BitXor<&FheBool> for bool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -966,10 +966,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1009,10 +1009,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1052,10 +1052,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1092,10 +1092,10 @@ impl BitAndAssign<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1129,10 +1129,10 @@ impl BitOrAssign<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1166,10 +1166,10 @@ impl BitXorAssign<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheBool::encrypt(true, &client_key);
@@ -1205,10 +1205,10 @@ impl std::ops::Not for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
@@ -1230,10 +1230,10 @@ impl std::ops::Not for &FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);

View File

@@ -20,7 +20,7 @@ use crate::CompactPublicKey;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheBool, CompactPublicKey, ConfigBuilder, FheBool};
///
@@ -88,7 +88,7 @@ impl ParameterSetConformant for CompactFheBool {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheBoolList, CompactPublicKey, ConfigBuilder};
///

View File

@@ -18,7 +18,7 @@ use serde::{Deserialize, Serialize};
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompressedFheBool, ConfigBuilder};
///

View File

@@ -46,10 +46,10 @@ impl FheTrivialEncrypt<bool> for FheBool {
/// # Example
///
/// ```rust
/// # use tfhe::{ConfigBuilder, generate_keys, set_server_key, FheBool};
/// # use tfhe::prelude::*;
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt_trivial(true);

View File

@@ -24,11 +24,11 @@ thread_local! {
///
/// Only working in the `main` thread
///
/// ```
/// use tfhe;
/// ```rust
/// use tfhe::{generate_keys, ConfigBuilder};
///
/// # let config = tfhe::ConfigBuilder::default().build();
/// let (client_key, server_key) = tfhe::generate_keys(config);
/// let config = ConfigBuilder::default().build();
/// let (client_key, server_key) = generate_keys(config);
///
/// tfhe::set_server_key(server_key);
/// // Now we can do operations on homomorphic types
@@ -37,12 +37,12 @@ thread_local! {
///
/// Working with multiple threads
///
/// ```
/// ```rust
/// use std::thread;
/// use tfhe;
/// use tfhe::ConfigBuilder;
///
/// # let config = tfhe::ConfigBuilder::default().build();
/// let config = tfhe::ConfigBuilder::default().build();
/// let (client_key, server_key) = tfhe::generate_keys(config);
/// let server_key_2 = server_key.clone();
///

View File

@@ -85,10 +85,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-3i16, &client_key);
@@ -125,10 +125,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// // This is not a trivial ciphertext as we use a client key to encrypt.
@@ -162,12 +162,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16, FheInt32};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16, FheInt32};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt32::encrypt(i32::MAX, &client_key);
/// let b = FheInt16::cast_from(a);
///
@@ -195,12 +195,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint32, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16, FheUint32};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint32::encrypt(u32::MAX, &client_key);
/// let b = FheInt16::cast_from(a);
///
@@ -227,12 +227,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
/// let b = FheInt16::cast_from(a);
///

View File

@@ -18,7 +18,7 @@ use crate::CompactPublicKey;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheInt32, CompactPublicKey, ConfigBuilder, FheInt32};
///
@@ -103,7 +103,7 @@ impl<Id: FheIntId> ParameterSetConformant for CompactFheInt<Id> {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheInt32List, CompactPublicKey, ConfigBuilder, FheInt32};
///

View File

@@ -20,7 +20,7 @@ use crate::ClientKey;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompressedFheInt32, ConfigBuilder};
///

View File

@@ -17,12 +17,12 @@ where
///
/// # Example
/// ```rust
/// # use tfhe::{ConfigBuilder, generate_keys, set_server_key, FheInt16};
/// # use tfhe::prelude::*;
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(7288i16, &client_key);
///
/// // i16 is explicit

View File

@@ -25,12 +25,11 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let clears = [-1i16, 2, 3, 4, -5];
/// let encrypted = clears
@@ -79,10 +78,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -113,10 +112,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -158,10 +157,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -185,10 +184,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -238,10 +237,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -265,10 +264,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -292,10 +291,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -319,10 +318,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -384,10 +383,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-23i16, &client_key);
@@ -599,10 +598,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-3i16, &client_key);
@@ -627,10 +626,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-3i16, &client_key);
@@ -658,10 +657,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-3i16, &client_key);
@@ -686,10 +685,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-3i16, &client_key);

View File

@@ -20,10 +20,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MAX, &client_key);
@@ -68,10 +68,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MAX, &client_key);
@@ -106,10 +106,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MAX, &client_key);
@@ -154,10 +154,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MAX, &client_key);
@@ -191,10 +191,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MAX, &client_key);
@@ -229,10 +229,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MIN, &client_key);
@@ -275,10 +275,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MIN, &client_key);
@@ -311,10 +311,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MIN, &client_key);
@@ -357,10 +357,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(i16::MIN, &client_key);
@@ -391,10 +391,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(3434i16, &client_key);
@@ -437,10 +437,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(3434i16, &client_key);

View File

@@ -23,10 +23,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -56,10 +56,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -87,10 +87,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -114,10 +114,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -147,10 +147,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -173,10 +173,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -199,10 +199,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);
@@ -225,10 +225,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt16::encrypt(-1i16, &client_key);

View File

@@ -159,10 +159,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// // This is not a trivial ciphertext as we use a client key to encrypt.
@@ -190,10 +190,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let non_trivial = FheUint16::encrypt(1u16, &client_key);
@@ -214,12 +214,11 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
/// let b = FheUint16::encrypt(2u16, &client_key);
@@ -316,12 +315,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt32, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheInt32, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheInt32::encrypt(i32::MIN, &client_key);
/// let b = FheUint16::cast_from(a);
///
@@ -354,12 +353,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16, FheUint32};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16, FheUint32};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint32::encrypt(u32::MAX, &client_key);
/// let b = FheUint16::cast_from(a);
///
@@ -391,12 +390,12 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheBool::encrypt(true, &client_key);
/// let b = FheUint16::cast_from(a);
///

View File

@@ -18,7 +18,7 @@ use crate::CompactPublicKey;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheUint32, CompactPublicKey, ConfigBuilder, FheUint32};
///
@@ -104,7 +104,7 @@ impl<Id: FheUintId> ParameterSetConformant for CompactFheUint<Id> {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompactFheUint32List, CompactPublicKey, ConfigBuilder, FheUint32};
///

View File

@@ -19,7 +19,7 @@ use crate::named::Named;
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, CompressedFheUint32, ConfigBuilder};
///

View File

@@ -19,12 +19,12 @@ where
///
/// # Example
/// ```rust
/// # use tfhe::{ConfigBuilder, generate_keys, set_server_key, FheUint16};
/// # use tfhe::prelude::*;
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(7288u16, &client_key);
///
/// // u16 is explicit
@@ -163,10 +163,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::{ConfigBuilder, generate_keys, set_server_key, FheUint16};
/// # use tfhe::prelude::*;
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt_trivial(7288u16);

View File

@@ -33,12 +33,11 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let clears = [1, 2, 3, 4, 5];
/// let encrypted = clears
@@ -101,12 +100,11 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// # set_server_key(server_key);
/// #
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheBool, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let clears = [1, 2, 3, 4, 5];
/// let encrypted = clears
@@ -173,10 +171,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -218,10 +216,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -274,10 +272,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -312,10 +310,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -376,10 +374,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -414,10 +412,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -452,10 +450,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -490,10 +488,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -631,10 +629,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(23u16, &client_key);
@@ -702,26 +700,26 @@ macro_rules! generic_integer_impl_operation (
}
);
generic_integer_impl_operation!(
/// Adds two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(23u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a + &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 23u16 + 3u16);
/// ```
/// Adds two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(23u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a + &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 23u16 + 3u16);
/// ```
rust_trait: Add(add),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -745,26 +743,26 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Subtracts two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a - &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16.wrapping_sub(37849u16));
/// ```
/// Subtracts two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a - &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16.wrapping_sub(37849u16));
/// ```
rust_trait: Sub(sub),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -788,26 +786,26 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Multiplies two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a * &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16.wrapping_mul(37849u16));
/// ```
/// Multiplies two [FheUint]
///
/// The operation is modular, i.e on overflow it wraps around.
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a * &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16.wrapping_mul(37849u16));
/// ```
rust_trait: Mul(mul),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -831,24 +829,24 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Performs a bitwise 'and' between two [FheUint]
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a & &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 & 37849u16);
/// ```
/// Performs a bitwise 'and' between two [FheUint]
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a & &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 & 37849u16);
/// ```
rust_trait: BitAnd(bitand),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -872,24 +870,24 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Performs a bitwise 'or' between two [FheUint]
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a | &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 | 37849u16);
/// ```
/// Performs a bitwise 'or' between two [FheUint]
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a | &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 | 37849u16);
/// ```
rust_trait: BitOr(bitor),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -913,24 +911,24 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Performs a bitwise 'xor' between two [FheUint]
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a ^ &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 ^ 37849u16);
/// ```
/// Performs a bitwise 'xor' between two [FheUint]
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
/// let b = FheUint16::encrypt(37849u16, &client_key);
///
/// let result = &a ^ &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 3u16 ^ 37849u16);
/// ```
rust_trait: BitXor(bitxor),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -954,32 +952,32 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Divides two [FheUint] and returns the quotient
///
/// # Note
///
/// If you need both the quotient and remainder, then prefer to use
/// [FheUint::div_rem], instead of using `/` and `%` separately.
///
/// When the divisor is 0, the returned quotient will be the max value (i.e. all bits set to 1).
///
/// This behaviour should not be relied on.
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a / &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 / 3u16);
/// ```
/// Divides two [FheUint] and returns the quotient
///
/// # Note
///
/// If you need both the quotient and remainder, then prefer to use
/// [FheUint::div_rem], instead of using `/` and `%` separately.
///
/// When the divisor is 0, the returned quotient will be the max value (i.e. all bits set to 1).
///
/// This behaviour should not be relied on.
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a / &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 / 3u16);
/// ```
rust_trait: Div(div),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -999,33 +997,33 @@ generic_integer_impl_operation!(
},
);
generic_integer_impl_operation!(
/// Divides two [FheUint] and returns the remainder
///
/// # Note
///
/// If you need both the quotient and remainder, then prefer to use
/// [FheUint::div_rem], instead of using `/` and `%` separately.
///
/// When the divisor is 0, the returned remainder will have the value of the numerator.
///
/// This behaviour should not be relied on.
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a % &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 % 3u16);
/// ```
/// Divides two [FheUint] and returns the remainder
///
/// # Note
///
/// If you need both the quotient and remainder, then prefer to use
/// [FheUint::div_rem], instead of using `/` and `%` separately.
///
/// When the divisor is 0, the returned remainder will have the value of the numerator.
///
/// This behaviour should not be relied on.
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a % &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 % 3u16);
/// ```
rust_trait: Rem(rem),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -1115,25 +1113,25 @@ macro_rules! generic_integer_impl_shift_rotate (
}
);
generic_integer_impl_shift_rotate!(
/// Performs a bitwise left shift of a [FheUint] by another [FheUint]
///
///
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a << &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 << 3u16);
/// ```
/// Performs a bitwise left shift of a [FheUint] by another [FheUint]
///
///
/// # Example
///
/// ```rust
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
/// let b = FheUint16::encrypt(3u16, &client_key);
///
/// let result = &a << &b;
/// let result: u16 = result.decrypt(&client_key);
/// assert_eq!(result, 37849u16 << 3u16);
/// ```
rust_trait: Shl(shl),
implem: {
|lhs: &FheUint<_>, rhs: &FheUint<_>| {
@@ -1161,10 +1159,10 @@ generic_integer_impl_shift_rotate!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
@@ -1201,10 +1199,10 @@ generic_integer_impl_shift_rotate!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
@@ -1241,10 +1239,10 @@ generic_integer_impl_shift_rotate!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(37849u16, &client_key);
@@ -1289,10 +1287,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1334,10 +1332,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1379,10 +1377,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1422,10 +1420,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1465,10 +1463,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1508,10 +1506,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);
@@ -1556,10 +1554,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1600,10 +1598,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1655,10 +1653,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1708,10 +1706,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1762,10 +1760,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1816,10 +1814,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(37849u16, &client_key);
@@ -1860,10 +1858,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
@@ -1892,10 +1890,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
@@ -1932,10 +1930,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);
@@ -1960,10 +1958,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3u16, &client_key);

View File

@@ -20,10 +20,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(u16::MAX, &client_key);
@@ -69,10 +69,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(u16::MAX, &client_key);
@@ -107,10 +107,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(u16::MAX, &client_key);
@@ -155,10 +155,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(u16::MAX, &client_key);
@@ -192,10 +192,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(u16::MAX, &client_key);
@@ -230,10 +230,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(0u16, &client_key);
@@ -279,10 +279,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(0u16, &client_key);
@@ -317,10 +317,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(0u16, &client_key);
@@ -365,10 +365,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(0u16, &client_key);
@@ -401,10 +401,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3434u16, &client_key);
@@ -448,10 +448,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(3434u16, &client_key);

View File

@@ -34,10 +34,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -68,10 +68,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -108,10 +108,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -145,10 +145,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -182,10 +182,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -219,10 +219,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -264,10 +264,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -309,10 +309,10 @@ where
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = FheUint16::encrypt(1u16, &client_key);
@@ -982,10 +982,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1045,10 +1045,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1090,10 +1090,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1133,10 +1133,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1176,10 +1176,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1219,10 +1219,10 @@ generic_integer_impl_scalar_left_operation!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let a = 23u16;
@@ -1304,10 +1304,10 @@ generic_integer_impl_scalar_operation_assign!(
/// # Example
///
/// ```rust
/// # use tfhe::prelude::*;
/// # use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
/// #
/// # let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// use tfhe::prelude::*;
/// use tfhe::{generate_keys, set_server_key, ConfigBuilder, FheUint16};
///
/// let (client_key, server_key) = generate_keys(ConfigBuilder::default());
/// set_server_key(server_key);
///
/// let mut a = FheUint16::encrypt(3u16, &client_key);

View File

@@ -25,7 +25,7 @@ pub(in crate::high_level_api) use inner::{
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::{generate_keys, ConfigBuilder};
///
/// let config = ConfigBuilder::default().build();

View File

@@ -20,7 +20,7 @@ use serde::{Deserialize, Serialize};
/// # Examples
/// ## Converting a [BooleanBlock] to a [RadixCiphertext]
///
/// ```
/// ```rust
/// use tfhe::integer::{gen_keys_radix, BooleanBlock};
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -78,7 +78,7 @@ impl BooleanBlock {
/// # Examples
/// ## Converting a [BooleanBlock] to a [RadixCiphertext]
///
/// ```
/// ```rust
/// use tfhe::integer::{gen_keys_radix, BooleanBlock};
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///

View File

@@ -491,7 +491,7 @@ impl ClientKey {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::integer::{gen_keys_radix, BooleanBlock};
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -526,7 +526,7 @@ impl ClientKey {
///
/// # Example
///
/// ```
/// ```rust
/// use tfhe::integer::{BooleanBlock, ClientKey};
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///

View File

@@ -96,7 +96,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -115,8 +114,6 @@ impl ServerKey {
/// // Decrypt
/// let res = cks.decrypt(&ctxt_1);
/// assert_eq!((clear_1 + clear_2) % modulus, res);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_add(
&self,

View File

@@ -95,7 +95,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -114,8 +113,6 @@ impl ServerKey {
/// // Decrypt
/// let res = cks.decrypt(&ctxt_1);
/// assert_eq!((clear_1 * clear_2) % modulus, res);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_mul(
&self,

View File

@@ -90,7 +90,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -104,13 +103,11 @@ impl ServerKey {
///
/// let mut ctxt_1 = cks.encrypt(clear_1);
///
/// let ct_res = sks.checked_crt_scalar_sub(&mut ctxt_1, clear_2)?;
/// let ct_res = sks.checked_crt_scalar_sub(&mut ctxt_1, clear_2).unwrap();
///
/// // Decrypt:
/// let dec = cks.decrypt(&ct_res);
/// assert_eq!((clear_1 - clear_2) % modulus, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_sub(
&self,
@@ -129,7 +126,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -143,13 +139,12 @@ impl ServerKey {
///
/// let mut ctxt_1 = cks.encrypt(clear_1);
///
/// sks.checked_crt_scalar_sub_assign(&mut ctxt_1, clear_2)?;
/// sks.checked_crt_scalar_sub_assign(&mut ctxt_1, clear_2)
/// .unwrap();
///
/// // Decrypt:
/// let dec = cks.decrypt(&ctxt_1);
/// assert_eq!((clear_1 - clear_2) % modulus, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_sub_assign(
&self,

View File

@@ -71,7 +71,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -90,8 +89,6 @@ impl ServerKey {
/// // Decrypt
/// let res = cks.decrypt(&ctxt_1);
/// assert_eq!((clear_1 + clear_2) % modulus, res);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_add_parallelized(
&self,

View File

@@ -65,7 +65,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -79,13 +78,13 @@ impl ServerKey {
///
/// let mut ctxt_1 = cks.encrypt(clear_1);
///
/// let ct_res = sks.checked_crt_scalar_sub_parallelized(&mut ctxt_1, clear_2)?;
/// let ct_res = sks
/// .checked_crt_scalar_sub_parallelized(&mut ctxt_1, clear_2)
/// .unwrap();
///
/// // Decrypt:
/// let dec = cks.decrypt(&ct_res);
/// assert_eq!((clear_1 - clear_2) % modulus, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_sub_parallelized(
&self,
@@ -104,7 +103,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_crt;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_3_CARRY_3_KS_PBS;
///
@@ -118,13 +116,12 @@ impl ServerKey {
///
/// let mut ctxt_1 = cks.encrypt(clear_1);
///
/// sks.checked_crt_scalar_sub_assign_parallelized(&mut ctxt_1, clear_2)?;
/// sks.checked_crt_scalar_sub_assign_parallelized(&mut ctxt_1, clear_2)
/// .unwrap();
///
/// // Decrypt:
/// let dec = cks.decrypt(&ctxt_1);
/// assert_eq!((clear_1 - clear_2) % modulus, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_crt_scalar_sub_assign_parallelized(
&self,

View File

@@ -122,7 +122,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_radix;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -136,13 +135,11 @@ impl ServerKey {
/// let mut ct = cks.encrypt(msg);
///
/// // Compute homomorphically an addition:
/// let ct_res = sks.checked_scalar_add(&mut ct, scalar)?;
/// let ct_res = sks.checked_scalar_add(&mut ct, scalar).unwrap();
///
/// // Decrypt:
/// let dec: u64 = cks.decrypt(&ct_res);
/// assert_eq!(msg + scalar, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_scalar_add<T, C>(&self, ct: &C, scalar: T) -> Result<C, CheckError>
where

View File

@@ -173,7 +173,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_radix;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -187,13 +186,11 @@ impl ServerKey {
/// let ct = cks.encrypt(msg);
///
/// // Compute the subtraction:
/// let ct_res = sks.checked_scalar_sub(&ct, scalar)?;
/// let ct_res = sks.checked_scalar_sub(&ct, scalar).unwrap();
///
/// // Decrypt:
/// let dec: u64 = cks.decrypt(&ct_res);
/// assert_eq!(msg - scalar, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_scalar_sub<T, Scalar>(&self, ct: &T, scalar: Scalar) -> Result<T, CheckError>
where
@@ -212,7 +209,6 @@ impl ServerKey {
/// # Example
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use tfhe::integer::gen_keys_radix;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -226,13 +222,11 @@ impl ServerKey {
/// let mut ct = cks.encrypt(msg);
///
/// // Compute the subtraction:
/// sks.checked_scalar_sub_assign(&mut ct, scalar)?;
/// sks.checked_scalar_sub_assign(&mut ct, scalar).unwrap();
///
/// // Decrypt:
/// let dec: u64 = cks.decrypt(&ct);
/// assert_eq!(msg - scalar, dec);
/// # Ok(())
/// # }
/// ```
pub fn checked_scalar_sub_assign<T, Scalar>(
&self,

View File

@@ -45,7 +45,7 @@ impl ServerKey {
/// Note that while the returned ciphertext encrypts the same value as
/// either true_ct or false_ct, it won't exactly be true_ct or false_ct.
///
/// ```
/// ```rust
/// use tfhe::integer::gen_keys_radix;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///
@@ -120,7 +120,7 @@ impl ServerKey {
/// Note that while the returned ciphertext encrypts the same value as
/// either true_ct or false_ct, it won't exactly be true_ct or false_ct.
///
/// ```
/// ```rust
/// use tfhe::integer::gen_keys_radix;
/// use tfhe::shortint::parameters::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
///

Some files were not shown because too many files have changed in this diff Show More