# module `concrete.fhe.extensions.truncate_bit_pattern`
Declaration of `truncate_bit_pattern` extension.
**Global Variables**
---------------
- **MAXIMUM_TLU_BIT_WIDTH**
---
## function `truncate_bit_pattern`
```python
truncate_bit_pattern(
x: Union[int, integer, List, ndarray, Tracer],
lsbs_to_remove: Union[int, AutoTruncator]
) → Union[int, integer, List, ndarray, Tracer]
```
Round the bit pattern of an integer.
If `lsbs_to_remove` is an `AutoTruncator`: corresponding integer value will be determined by adjustment process.
x = 0b_0000 , lsbs_to_remove = 2 => 0b_0000 x = 0b_0001 , lsbs_to_remove = 2 => 0b_0000 x = 0b_0010 , lsbs_to_remove = 2 => 0b_0000 x = 0b_0100 , lsbs_to_remove = 2 => 0b_0100 x = 0b_0110 , lsbs_to_remove = 2 => 0b_0100 x = 0b_1100 , lsbs_to_remove = 2 => 0b_1100 x = 0b_abcd , lsbs_to_remove = 2 => 0b_ab00
**Args:**
x (Union[int, np.integer, np.ndarray, Tracer]): input to truncate
lsbs_to_remove (Union[int, AutoTruncator]): number of the least significant bits to clear or an auto truncator object which will be used to determine the integer value
**Returns:**
Union[int, np.integer, np.ndarray, Tracer]: Tracer that represents the operation during tracing truncated value(s) otherwise
---
## class `Adjusting`
Adjusting class, to be used as early stop signal during adjustment.
### method `__init__`
```python
__init__(truncator: 'AutoTruncator', input_min: int, input_max: int)
```
---
## class `AutoTruncator`
AutoTruncator class, to optimize for the number of msbs to keep during truncate operation.
### method `__init__`
```python
__init__(target_msbs: int = 16)
```
---
### method `adjust`
```python
adjust(
function: Callable,
inputset: Union[Iterable[Any], Iterable[Tuple[Any, ]]]
)
```
Adjust AutoTruncators in a function using an inputset.
---
### method `dump_dict`
```python
dump_dict() → Dict
```
Dump properties of the truncator to a dict.
---
### classmethod `load_dict`
```python
load_dict(properties: Dict) → AutoTruncator
```
Load previously dumped truncator.