Files
concrete/docs/dev/compilation/ConcreteDialect.md
2023-07-13 14:33:54 +02:00

902 lines
28 KiB
Markdown

<!-- Autogenerated by mlir-tblgen; don't manually edit -->
# '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, ...