# 'Concrete' Dialect Low Level Fully Homomorphic Encryption dialect A dialect for representation of low level operation on fully homomorphic ciphertext. ## Operation definition ### `Concrete.add_lwe_buffer` (::mlir::concretelang::Concrete::AddLweBufferOp) Returns the sum of 2 lwe ciphertexts #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `lhs` | 1D memref of 64-bit signless integer values | `rhs` | 1D memref of 64-bit signless integer values ### `Concrete.add_lwe_tensor` (::mlir::concretelang::Concrete::AddLweTensorOp) Returns the sum of 2 lwe ciphertexts Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 1D tensor of 64-bit signless integer values | `rhs` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.add_plaintext_lwe_buffer` (::mlir::concretelang::Concrete::AddPlaintextLweBufferOp) Returns the sum of a clear integer and an lwe ciphertext #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `lhs` | 1D memref of 64-bit signless integer values | `rhs` | 64-bit signless integer ### `Concrete.add_plaintext_lwe_tensor` (::mlir::concretelang::Concrete::AddPlaintextLweTensorOp) Returns the sum of a clear integer and an lwe ciphertext Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 1D tensor of 64-bit signless integer values | `rhs` | 64-bit signless integer #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.batched_add_lwe_buffer` (::mlir::concretelang::Concrete::BatchedAddLweBufferOp) Batched version of AddLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `lhs` | 2D memref of 64-bit signless integer values | `rhs` | 2D memref of 64-bit signless integer values ### `Concrete.batched_add_lwe_tensor` (::mlir::concretelang::Concrete::BatchedAddLweTensorOp) Batched version of AddLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 2D tensor of 64-bit signless integer values | `rhs` | 2D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_add_plaintext_cst_lwe_buffer` (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweBufferOp) Batched version of AddPlaintextLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `lhs` | 2D memref of 64-bit signless integer values | `rhs` | 64-bit signless integer ### `Concrete.batched_add_plaintext_cst_lwe_tensor` (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweTensorOp) Batched version of AddPlaintextLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 2D tensor of 64-bit signless integer values | `rhs` | 64-bit signless integer #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_add_plaintext_lwe_buffer` (::mlir::concretelang::Concrete::BatchedAddPlaintextLweBufferOp) Batched version of AddPlaintextLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `lhs` | 2D memref of 64-bit signless integer values | `rhs` | 1D memref of 64-bit signless integer values ### `Concrete.batched_add_plaintext_lwe_tensor` (::mlir::concretelang::Concrete::BatchedAddPlaintextLweTensorOp) Batched version of AddPlaintextLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 2D tensor of 64-bit signless integer values | `rhs` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_bootstrap_lwe_buffer` (::mlir::concretelang::Concrete::BatchedBootstrapLweBufferOp) Batched version of BootstrapLweOp, which performs the same operation on multiple elements #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `input_ciphertext` | 2D memref of 64-bit signless integer values | `lookup_table` | 1D memref of 64-bit signless integer values ### `Concrete.batched_bootstrap_lwe_tensor` (::mlir::concretelang::Concrete::BatchedBootstrapLweTensorOp) Batched version of BootstrapLweOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input_ciphertext` | 2D tensor of 64-bit signless integer values | `lookup_table` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_keyswitch_lwe_buffer` (::mlir::concretelang::Concrete::BatchedKeySwitchLweBufferOp) Batched version of KeySwitchLweOp, which performs the same operation on multiple elements #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_in` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_out` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `ciphertext` | 2D memref of 64-bit signless integer values ### `Concrete.batched_keyswitch_lwe_tensor` (::mlir::concretelang::Concrete::BatchedKeySwitchLweTensorOp) Batched version of KeySwitchLweOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_in` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_out` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `ciphertext` | 2D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_mapped_bootstrap_lwe_buffer` (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweBufferOp) Batched, mapped version of BootstrapLweOp, which performs the same operation on multiple elements #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `input_ciphertext` | 2D memref of 64-bit signless integer values | `lookup_table_vector` | 2D memref of 64-bit signless integer values ### `Concrete.batched_mapped_bootstrap_lwe_tensor` (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweTensorOp) Batched, mapped version of BootstrapLweOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input_ciphertext` | 2D tensor of 64-bit signless integer values | `lookup_table_vector` | 2D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_mul_cleartext_cst_lwe_buffer` (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweBufferOp) Batched version of MulCleartextLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `lhs` | 2D memref of 64-bit signless integer values | `rhs` | 64-bit signless integer ### `Concrete.batched_mul_cleartext_cst_lwe_tensor` (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweTensorOp) Batched version of MulCleartextLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 2D tensor of 64-bit signless integer values | `rhs` | 64-bit signless integer #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_mul_cleartext_lwe_buffer` (::mlir::concretelang::Concrete::BatchedMulCleartextLweBufferOp) Batched version of MulCleartextLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `lhs` | 2D memref of 64-bit signless integer values | `rhs` | 1D memref of 64-bit signless integer values ### `Concrete.batched_mul_cleartext_lwe_tensor` (::mlir::concretelang::Concrete::BatchedMulCleartextLweTensorOp) Batched version of MulCleartextLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 2D tensor of 64-bit signless integer values | `rhs` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.batched_negate_lwe_buffer` (::mlir::concretelang::Concrete::BatchedNegateLweBufferOp) Batched version of NegateLweBufferOp, which performs the same operation on multiple elements #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `ciphertext` | 2D memref of 64-bit signless integer values ### `Concrete.batched_negate_lwe_tensor` (::mlir::concretelang::Concrete::BatchedNegateLweTensorOp) Batched version of NegateLweTensorOp, which performs the same operation on multiple elements Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `ciphertext` | 2D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.bootstrap_lwe_buffer` (::mlir::concretelang::Concrete::BootstrapLweBufferOp) Bootstraps a LWE ciphertext with a GLWE trivial encryption of the lookup table #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `input_ciphertext` | 1D memref of 64-bit signless integer values | `lookup_table` | 1D memref of 64-bit signless integer values ### `Concrete.bootstrap_lwe_tensor` (::mlir::concretelang::Concrete::BootstrapLweTensorOp) Bootstraps an LWE ciphertext with a GLWE trivial encryption of the lookup table Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `inputLweDim` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `glweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input_ciphertext` | 1D tensor of 64-bit signless integer values | `lookup_table` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.encode_expand_lut_for_bootstrap_buffer` (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapBufferOp) Encode and expand a lookup table so that it can be used for a bootstrap #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `outputBits` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `isSigned` | ::mlir::BoolAttr | bool attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `input_lookup_table` | 1D memref of 64-bit signless integer values ### `Concrete.encode_expand_lut_for_bootstrap_tensor` (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapTensorOp) Encode and expand a lookup table so that it can be used for a bootstrap Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `outputBits` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `isSigned` | ::mlir::BoolAttr | bool attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input_lookup_table` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.encode_lut_for_crt_woppbs_buffer` (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSBufferOp) Encode and expand a lookup table so that it can be used for a crt wop pbs #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute | `crtBits` | ::mlir::ArrayAttr | 64-bit integer array attribute | `modulusProduct` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `isSigned` | ::mlir::BoolAttr | bool attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `input_lookup_table` | 1D memref of 64-bit signless integer values ### `Concrete.encode_lut_for_crt_woppbs_tensor` (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSTensorOp) Encode and expand a lookup table so that it can be used for a wop pbs Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute | `crtBits` | ::mlir::ArrayAttr | 64-bit integer array attribute | `modulusProduct` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `isSigned` | ::mlir::BoolAttr | bool attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input_lookup_table` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ### `Concrete.encode_plaintext_with_crt_buffer` (::mlir::concretelang::Concrete::EncodePlaintextWithCrtBufferOp) Encodes a plaintext by decomposing it on a crt basis #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `mods` | ::mlir::ArrayAttr | 64-bit integer array attribute | `modsProd` | ::mlir::IntegerAttr | 64-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `input` | 64-bit signless integer ### `Concrete.encode_plaintext_with_crt_tensor` (::mlir::concretelang::Concrete::EncodePlaintextWithCrtTensorOp) Encodes a plaintext by decomposing it on a crt basis Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `mods` | ::mlir::ArrayAttr | 64-bit integer array attribute | `modsProd` | ::mlir::IntegerAttr | 64-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `input` | 64-bit signless integer #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.keyswitch_lwe_buffer` (::mlir::concretelang::Concrete::KeySwitchLweBufferOp) Performs a keyswitching operation on an LWE ciphertext #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_in` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_out` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `ciphertext` | 1D memref of 64-bit signless integer values ### `Concrete.keyswitch_lwe_tensor` (::mlir::concretelang::Concrete::KeySwitchLweTensorOp) Performs a keyswitching operation on an LWE ciphertext Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `level` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `baseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_in` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `lwe_dim_out` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `ciphertext` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.mul_cleartext_lwe_buffer` (::mlir::concretelang::Concrete::MulCleartextLweBufferOp) Returns the product of a clear integer and a lwe ciphertext #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `lhs` | 1D memref of 64-bit signless integer values | `rhs` | 64-bit signless integer ### `Concrete.mul_cleartext_lwe_tensor` (::mlir::concretelang::Concrete::MulCleartextLweTensorOp) Returns the product of a clear integer and a lwe ciphertext Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `lhs` | 1D tensor of 64-bit signless integer values | `rhs` | 64-bit signless integer #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.negate_lwe_buffer` (::mlir::concretelang::Concrete::NegateLweBufferOp) Negates an lwe ciphertext #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 1D memref of 64-bit signless integer values | `ciphertext` | 1D memref of 64-bit signless integer values ### `Concrete.negate_lwe_tensor` (::mlir::concretelang::Concrete::NegateLweTensorOp) Negates an lwe ciphertext Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Operands: | Operand | Description | | :-----: | ----------- | | `ciphertext` | 1D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 1D tensor of 64-bit signless integer values ### `Concrete.wop_pbs_crt_lwe_buffer` (::mlir::concretelang::Concrete::WopPBSCRTLweBufferOp) #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `bootstrapLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bootstrapBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `keyswitchLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `keyswitchBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchInputLweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchoutputPolynomialSize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `circuitBootstrapLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `circuitBootstrapBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `pkskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `result` | 2D memref of 64-bit signless integer values | `ciphertext` | 2D memref of 64-bit signless integer values | `lookup_table` | 2D memref of 64-bit signless integer values ### `Concrete.wop_pbs_crt_lwe_tensor` (::mlir::concretelang::Concrete::WopPBSCRTLweTensorOp) Traits: AlwaysSpeculatableImplTrait Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface) Effects: MemoryEffects::Effect{} #### Attributes: | Attribute | MLIR Type | Description | | :-------: | :-------: | ----------- | | `bootstrapLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bootstrapBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `keyswitchLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `keyswitchBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchInputLweDimension` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchoutputPolynomialSize` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `packingKeySwitchBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `circuitBootstrapLevel` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `circuitBootstrapBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute | `kskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `bskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute | `pkskIndex` | ::mlir::IntegerAttr | 32-bit signless integer attribute #### Operands: | Operand | Description | | :-----: | ----------- | | `ciphertext` | 2D tensor of 64-bit signless integer values | `lookupTable` | 2D tensor of 64-bit signless integer values #### Results: | Result | Description | | :----: | ----------- | | `result` | 2D tensor of 64-bit signless integer values ## Type definition ### ContextType A runtime context Syntax: `!Concrete.context` An abstract runtime context to pass contextual value, like public keys, ...