# module `concrete.fhe.mlir.converter`
Declaration of `Converter` class.
**Global Variables**
---------------
- **MAXIMUM_TLU_BIT_WIDTH**
---
## class `Converter`
Converter class, to convert a computation graph to MLIR.
---
### method `add`
```python
add(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `array`
```python
array(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `assign_static`
```python
assign_static(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `bitwise_and`
```python
bitwise_and(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `bitwise_or`
```python
bitwise_or(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `bitwise_xor`
```python
bitwise_xor(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `broadcast_to`
```python
broadcast_to(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `concatenate`
```python
concatenate(ctx: Context, node: Node, preds: List[Conversion])
```
---
### method `constant`
```python
constant(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `conv1d`
```python
conv1d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `conv2d`
```python
conv2d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `conv3d`
```python
conv3d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `convert`
```python
convert(
graph: Graph,
configuration: Configuration,
mlir_context: Context
) → Module
```
Convert a computation graph to MLIR.
**Args:**
graph (Graph): graph to convert
configuration (Configuration): configuration to use
mlir_context (MlirContext): MLIR Context to use for module generation
Return: MlirModule: In-memory MLIR module corresponding to the graph
---
### method `copy`
```python
copy(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `dot`
```python
dot(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `dynamic_tlu`
```python
dynamic_tlu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `equal`
```python
equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `expand_dims`
```python
expand_dims(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `extract_bit_pattern`
```python
extract_bit_pattern(
ctx: Context,
node: Node,
preds: List[Conversion]
) → Conversion
```
---
### method `greater`
```python
greater(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `greater_equal`
```python
greater_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `index_static`
```python
index_static(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `left_shift`
```python
left_shift(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `less`
```python
less(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `less_equal`
```python
less_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `matmul`
```python
matmul(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `maximum`
```python
maximum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `maxpool1d`
```python
maxpool1d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `maxpool2d`
```python
maxpool2d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `maxpool3d`
```python
maxpool3d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `minimum`
```python
minimum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `multiply`
```python
multiply(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `negative`
```python
negative(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `node`
```python
node(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
Convert a computation graph node into MLIR.
**Args:**
ctx (Context): conversion context
node (Node): node to convert
preds (List[Conversion]): conversions of ordered predecessors of the node
Return: Conversion: conversion object corresponding to node
---
### method `not_equal`
```python
not_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `ones`
```python
ones(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `process`
```python
process(graph: Graph, configuration: Configuration)
```
Process a computation graph for MLIR conversion.
**Args:**
graph (Graph): graph to process
configuration (Configuration): configuration to use
---
### method `relu`
```python
relu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `reshape`
```python
reshape(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `right_shift`
```python
right_shift(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `round_bit_pattern`
```python
round_bit_pattern(
ctx: Context,
node: Node,
preds: List[Conversion]
) → Conversion
```
---
### method `simplify_tag`
```python
simplify_tag(configuration: Configuration, tag: str) → str
```
Keep only `n` higher tag parts.
---
### method `squeeze`
```python
squeeze(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `stdout_with_ansi_support`
```python
stdout_with_ansi_support() → bool
```
Detect if ansi characters can be used (e.g. not the case in notebooks).
---
### method `subtract`
```python
subtract(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `sum`
```python
sum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `tlu`
```python
tlu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### classmethod `trace_progress`
```python
trace_progress(
configuration: Configuration,
progress_index: int,
nodes: List[Node]
)
```
Add a trace_message for progress.
**Args:**
configuration: configuration for title, tags options
progress_index: index of the next node to process
nodes: all nodes
---
### method `transpose`
```python
transpose(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `truncate_bit_pattern`
```python
truncate_bit_pattern(
ctx: Context,
node: Node,
preds: List[Conversion]
) → Conversion
```
---
### method `where`
```python
where(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```
---
### method `zeros`
```python
zeros(ctx: Context, node: Node, preds: List[Conversion]) → Conversion
```