---
title: "ClikaRT::ops::log1p"
sidebar_label: "log1p"
description: "Elementwise log(1 + x), accurate for small input. \\[ \\ln(1 + x_i) \\] Inputs below -1 produce NaN; exactly -1 produces -inf."
---

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

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

## log1p() {#log1p}

<div class="api-signature">

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

</div>

Elementwise [`log`](./log.md#log)`(1 + x)`, accurate for small `input`.

$$
\ln(1 + x_i)
$$

Inputs below `-1` produce NaN; exactly `-1` produces -inf. 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::log1p(x);
```

<div class="api-declared">

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

</div>
