---
title: "ClikaRT::ops::hardtanh"
sidebar_label: "hardtanh"
description: "Clamps every element to [min_val, max_val]. \\[ \\mathrm{hardtanh}(x) = \\mathrm{clamp}(x,\\; \\mathrm{min\\_val},\\; \\mathrm{max\\_val}) \\] input the input tensor. min_val the lower bound. Default -1.0."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--function">function</span>

## hardtanh() {#hardtanh}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`hardtanh`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `input`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `min_val` `=` `-1.0`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `max_val` `=` `1.0`<br />
)

</div>

Clamps every element to `[min_val, max_val]`.

$$
\mathrm{hardtanh}(x) = \mathrm{clamp}(x,\; \mathrm{min\_val},\; \mathrm{max\_val})
$$

**Parameters**

- `input`: the input tensor.
- `min_val`: the lower bound. Default `-1.0`.
- `max_val`: the upper bound. Default `1.0`.

**Throws**

- `ClikaRT::Error`: when the input's dtype is not served for this operation (the machine-readable reason rides `code_name()`).

**Returns:** a new tensor, same shape and dtype as `input`.

```cpp
auto y = ClikaRT::ops::hardtanh(x, 0.0, 6.0);  // == relu6
```

<div class="api-declared">

Declared in `ClikaRT/compute/ops.h`, line 880

</div>
