<!-- 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, ...

