---
title: "ClikaRT::ops::sgn"
sidebar_label: "sgn"
description: "Elementwise sign; identical to sign for real dtypes. \\[ \\mathrm{sign}(x_i) \\] Value-domain violations follow IEEE semantics (NaN / ±inf in the result), never an error."
---

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

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

## sgn() {#sgn}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`sgn`**([`Tensor`](../Tensor.md) `input`)

</div>

Elementwise sign; identical to [`sign`](./sign.md#sign) for real dtypes.

$$
\mathrm{sign}(x_i)
$$

Value-domain violations follow IEEE semantics (NaN / ±inf in the result), never an error.

**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::sgn(x);
```

<div class="api-declared">

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

</div>
