---
title: "ClikaRT::ops::allclose"
sidebar_label: "allclose"
description: "Whether EVERY elementwise pair is approximately equal, a reduction to one verdict."
---

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

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

## allclose() {#allclose}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`allclose`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `input`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `other`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `rtol` `=` `1e-5`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `atol` `=` `1e-8`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `equal_nan` `=` `false`<br />
)

</div>

Whether EVERY elementwise pair is approximately equal, a reduction to one verdict.

$$
|a - b| \le atol + rtol \cdot |b| \quad \text{for every pair}
$$

Shapes broadcast per the standard rules before the reduction.

**Parameters**

- `a`, `b` — the tensors to compare.
- `rtol`: relative tolerance; default `1e-5`.
- `atol`: absolute tolerance; default `1e-8`.
- `equal_nan`: when `true`, NaN compares equal to NaN; default `false`.

**Returns:** a 0-D `Bool` tensor; `true` iff every pair passes (use [`ops::isclose`](./isclose.md#isclose) for the elementwise map).

**Throws**

- `ClikaRT::Error`: (`INVALID_ARGUMENT`) when the operand shapes are not broadcast-compatible.

  ```cpp
  bool same = ClikaRT::ops::allclose(y, want).item<bool>();
  ```

<div class="api-declared">

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

</div>
