---
title: "ClikaRT::Tensor"
sidebar_label: "Tensor"
description: "class ClikaRT::Tensor"
---

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

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

**Header:** `ClikaRT/compute/tensor.h`

## Types

### enum Status {#Status}

<div class="api-signature">

`enum class` **`Status`**

</div>

Where a tensor is in its async lifecycle (see [`status()`](./Tensor.md#status)):

- `Unscheduled`: lazy; has lineage but no kernel has run (tracing mode).
- `Evaluated`: the producing kernel was submitted / storage allocated; a kernel-produced tensor stays here even after [`synchronize`](./Tensor.md#synchronize).
- `Available`: ready/host-observed; the state a tensor built straight from a data buffer starts in.

| Enumerator | Description |
| --- | --- |
| `Unscheduled` |  |
| `Evaluated` |  |
| `Available` |  |

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 118

</div>

## Static member functions

### empty() {#empty}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`empty`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Uninitialized tensor.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 138

</div>

### empty\_reserved() {#empty_reserved}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`empty_reserved`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`<br />
)

</div>

Uninitialized tensor whose storage BYPASSES the caching pool: the bytes are reserved from the device as one dedicated block, never split or coalesced with pooled memory. Use it for LARGE, lifetime-long buffers (a staged weight slab, a session-long cache); a fragmented pool can fail to place such a request even when enough total memory is free, and the reserve route is immune to that by construction. Small or short-lived tensors belong on the ordinary [`empty`](./Tensor.md#empty) (pooled reuse is what makes them cheap). Same placement contract as [`empty`](./Tensor.md#empty); a device whose allocator has no reserve fast-path serves it as a plain allocation.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 151

</div>

### zeros() {#zeros}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`zeros`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Zero-filled tensor.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 155

</div>

### ones() {#ones}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`ones`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Ones-filled tensor.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 159

</div>

### full\_i64\_impl() {#full_i64_impl}

<div class="api-signature">

`static` [`Result`](./Result.md)`<`[`Tensor`](./Tensor.md)`>` **`full_i64_impl`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for`<br />
)

</div>

The exact-integer sibling: the value travels the integer channel end to end, so Int64/UInt64 fills past 2^53 keep their low bits (a `double` carrier would round them).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 166

</div>

### full(Span\< int64\_t\>, double, DataType, StreamOrDevice, …) {#full}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`full`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

[Tensor](./Tensor.md) filled with `value` (cast to [`dtype`](./dtype/index.md)).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 167

</div>

### full(Span\< int64\_t\>, T, DataType, StreamOrDevice, …) {#full-2}

<div class="api-signature">

`template <``typename T`, `typename std::enable_if<std::is_integral<T>::value, int>::type` `=` `0``>`<br />`static` [`Tensor`](./Tensor.md) **`full`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`T` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Integral overload: every integer width lands here exactly (never on the double form, and never ambiguously against it; the same shape as [`ScalarOrTensor`](./ScalarOrTensor.md)'s integral ctor).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 174

</div>

### from\_data() {#from_data}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`from_data`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`const void*` `data`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Copy host data into a new owned tensor. `data` must point at `numel(shape) * itemsize(dtype)` bytes laid out for [`dtype`](./dtype/index.md); those bytes are **copied** into the tensor (the source buffer is not retained), so its lifetime is independent of the tensor. With a non-CPU placement the data is staged on the host and then moved there. For a zero-copy wrap, use [`from_blob`](./Tensor.md#from_blob).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 184

</div>

### from\_blob(void, Span\< int64\_t\>, DataType, StreamOrDevice, …) {#from_blob}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`from_blob`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`void*` `data`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::function<void(void *)>` `deleter` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Wrap externally-owned memory as a tensor **without copying**. `data` must point at memory on [`where`](./Tensor.md#where)'s device laid out for [`dtype`](./dtype/index.md) (contiguous for this overload). Ownership is signaled by `deleter`:

- **No deleter (default) → borrowed.** You keep ownership of `data` and MUST keep it alive, and its layout unchanged, for as long as the tensor or any view of it is in use. The runtime never reuses/overwrites it. Writes through the buffer are visible through the tensor and vice versa (it is the same memory).
- **With a deleter → adopted.** The tensor takes ownership and calls `deleter(data)` once, when its last reference drops; the buffer may then be reused as an op output. The deleter runs when the storage is released, possibly on a runtime thread; a throw from it is caught in your translation unit and discarded. Ordering: placed on an explicit [`Stream`](./Stream.md), the wrap is ordered on that stream. Its bytes count as produced by the work queued there so far, so an operation that reads the tensor on any other stream waits for that point without blocking the calling thread. That is how a producer that writes the buffer asynchronously hands it over: make the stream wait for the producer's pending work, then wrap on it. A device's default stream completes that handoff before [`from_blob`](./Tensor.md#from_blob) returns, and so does any explicit stream while the calling thread holds a [`SynchronousScope`](./SynchronousScope.md) or a [`SynchronousStreamScope`](./SynchronousStreamScope.md). A bare [`Device`](./Device.md) placement orders nothing, so the memory must already hold its values when the first operation reads it. [`shape`](./Tensor.md#shape) is read during the call, not retained. `pinned_for` on a blob wrap is TAG-ONLY: the pages are yours, so setting it asserts they are already page-locked for the peer (the runtime cannot pin or verify foreign memory) and marks the tensor pinned accordingly.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 217

</div>

### from\_blob(void, Span\< int64\_t\>, Span\< int64\_t\>, DataType, …) {#from_blob-2}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`from_blob`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`void*` `data`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `strides`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `where` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::function<void(void *)>` `deleter` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `pinned_for` `=` `{}`<br />
)

</div>

Wrap externally-owned memory as a tensor **without copying**. `data` must point at memory on [`where`](./Tensor.md#where)'s device laid out for [`dtype`](./dtype/index.md) (contiguous for this overload). Ownership is signaled by `deleter`:

- **No deleter (default) → borrowed.** You keep ownership of `data` and MUST keep it alive, and its layout unchanged, for as long as the tensor or any view of it is in use. The runtime never reuses/overwrites it. Writes through the buffer are visible through the tensor and vice versa (it is the same memory).
- **With a deleter → adopted.** The tensor takes ownership and calls `deleter(data)` once, when its last reference drops; the buffer may then be reused as an op output. The deleter runs when the storage is released, possibly on a runtime thread; a throw from it is caught in your translation unit and discarded. Ordering: placed on an explicit [`Stream`](./Stream.md), the wrap is ordered on that stream. Its bytes count as produced by the work queued there so far, so an operation that reads the tensor on any other stream waits for that point without blocking the calling thread. That is how a producer that writes the buffer asynchronously hands it over: make the stream wait for the producer's pending work, then wrap on it. A device's default stream completes that handoff before [`from_blob`](./Tensor.md#from_blob) returns, and so does any explicit stream while the calling thread holds a [`SynchronousScope`](./SynchronousScope.md) or a [`SynchronousStreamScope`](./SynchronousStreamScope.md). A bare [`Device`](./Device.md) placement orders nothing, so the memory must already hold its values when the first operation reads it. [`shape`](./Tensor.md#shape) is read during the call, not retained. `pinned_for` on a blob wrap is TAG-ONLY: the pages are yours, so setting it asserts they are already page-locked for the peer (the runtime cannot pin or verify foreign memory) and marks the tensor pinned accordingly.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 226

</div>

### fake() {#fake}

<div class="api-signature">

`static` [`Tensor`](./Tensor.md) **`fake`**(`const` [`FakeTensor`](./FakeTensor.md)`&` `spec`)

</div>

A tensor with the metadata of [`spec`](./spec/index.md) and NO storage ([`is_fake()`](./Tensor.md#is_fake) is true): the tensor a module registered from a [`FakeTensor`](./FakeTensor.md) spec holds until a checkpoint binds it, and the tensor a metadata-only build hands out. Every metadata read answers (shape, dtype, device, element count); a data read raises [`ClikaRT::Error`](./Error.md) naming it as declared but unloaded.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 293

</div>

## Member functions

### Tensor() {#Tensor}

<div class="api-signature">

**`Tensor`**() `noexcept`

</div>

A default (undefined) tensor; it holds no storage. [`defined()`](./Tensor.md#defined) is false; the other metadata observers must not be called until it is assigned a real tensor. Useful as a member you fill in later (e.g. a module's parameter handle).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 236

</div>

### Tensor(Tensor) {#Tensor-2}

<div class="api-signature">

**`Tensor`**(`const Tensor&` `other`)

</div>

Copy: a SECOND HANDLE to the same storage (refcounted; no bytes move; an in-place op through either handle is visible through both).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 240

</div>

### operator=(Tensor) {#operator-assign}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator=`**(`const` [`Tensor`](./Tensor.md)`&` `other`)

</div>

Copy-assign: rebinds this handle to `other`'s storage (refcounted, no bytes move).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 242

</div>

### Tensor(Tensor) {#Tensor-3}

<div class="api-signature">

**`Tensor`**(`Tensor&&` `other`) `noexcept`

</div>

Move: transfers the handle; `other` is left default-constructed (undefined).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 244

</div>

### operator=(Tensor) {#operator-assign-2}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator=`**([`Tensor`](./Tensor.md)`&&` `other`) `noexcept`

</div>

Move-assign: transfers the handle; `other` is left default-constructed (undefined).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 246

</div>

### \~Tensor() {#Tensor-4}

<div class="api-signature">

**`~Tensor`**()

</div>

Releases this handle's reference; the storage frees when the last handle drops.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 248

</div>

### defined() {#defined}

<div class="api-signature">

`bool` **`defined`**() `const`

</div>

True if this tensor holds storage (false for a default/empty tensor).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 257

</div>

### ndim() {#ndim}

<div class="api-signature">

`std::int64_t` **`ndim`**() `const`

</div>

Rank. Always concrete; a tensor's rank is fixed when its producing op is dispatched, even when the dim values are data-dependent.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 260

</div>

### metadata\_ndim() {#metadata_ndim}

<div class="api-signature">

`std::int64_t` **`metadata_ndim`**() `const`

</div>

Synonym of [`ndim`](./Tensor.md#ndim) (rank is structural by nature).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 262

</div>

### metadata\_shape() {#metadata_shape}

<div class="api-signature">

`std::vector<std::int64_t>` **`metadata_shape`**() `const`

</div>

The per-dimension sizes as currently recorded.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 264

</div>

### metadata\_sizes() {#metadata_sizes}

<div class="api-signature">

`std::vector<std::int64_t>` **`metadata_sizes`**() `const`

</div>

Synonym of [`metadata_shape`](./Tensor.md#metadata_shape).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 266

</div>

### metadata\_strides() {#metadata_strides}

<div class="api-signature">

`std::vector<std::int64_t>` **`metadata_strides`**() `const`

</div>

The per-dimension strides, in elements, as currently recorded.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 268

</div>

### metadata\_numel() {#metadata_numel}

<div class="api-signature">

`std::int64_t` **`metadata_numel`**() `const`

</div>

The element count as currently recorded.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 270

</div>

### metadata\_nbytes() {#metadata_nbytes}

<div class="api-signature">

`std::size_t` **`metadata_nbytes`**() `const`

</div>

Total byte size of the element data as currently recorded.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 272

</div>

### dtype() {#dtype}

<div class="api-signature">

[`DataType`](../index.md#DataType) **`dtype`**() `const`

</div>

The element dtype. Structural: fixed at creation, free to read, never synchronizes.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 274

</div>

### device() {#device}

<div class="api-signature">

[`Device`](./Device.md) **`device`**() `const`

</div>

The device this tensor is placed on.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 276

</div>

### stream() {#stream}

<div class="api-signature">

[`Stream`](./Stream.md) **`stream`**() `const`

</div>

The execution stream this tensor is associated with.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 278

</div>

### is\_contiguous() {#is_contiguous}

<div class="api-signature">

`bool` **`is_contiguous`**() `const`

</div>

From current metadata (a data-dependent shape refreshes layout when its producer completes).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 281

</div>

### is\_pinned() {#is_pinned}

<div class="api-signature">

`bool` **`is_pinned`**([`StreamOrDevice`](./StreamOrDevice.md) `peer` `=` `{}`) `const`

</div>

True when this tensor's storage is page-locked host memory pinned for `peer` (transfers to/from that peer skip staging). With no `peer`, true when pinned for any device. Always false for device-resident storage. A pure metadata read.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 286

</div>

### is\_fake() {#is_fake}

<div class="api-signature">

`bool` **`is_fake`**() `const`

</div>

True if this tensor is metadata-only: a declared slot (shape / dtype / placement) with NO storage behind it, e.g. a parameter registered from a [`FakeTensor`](./FakeTensor.md) spec that `load_state_dict` has not bound yet. A fake tensor's metadata observers all work; reading its data raises [`ClikaRT::Error`](./Error.md).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 299

</div>

### is\_quantized() {#is_quantized}

<div class="api-signature">

`bool` **`is_quantized`**() `const`

</div>

True if this tensor carries a quantization scheme (a quantized tensor).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 301

</div>

### numel() {#numel}

<div class="api-signature">

`std::int64_t` **`numel`**() `const`

</div>

The element count.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 312

</div>

### shape() {#shape}

<div class="api-signature">

`std::vector<std::int64_t>` **`shape`**() `const`

</div>

The per-dimension sizes.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 314

</div>

### sizes() {#sizes}

<div class="api-signature">

`std::vector<std::int64_t>` **`sizes`**() `const`

</div>

The per-dimension sizes (synonym of [`shape`](./Tensor.md#shape)).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 316

</div>

### strides() {#strides}

<div class="api-signature">

`std::vector<std::int64_t>` **`strides`**() `const`

</div>

The per-dimension strides, in elements.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 318

</div>

### nbytes() {#nbytes}

<div class="api-signature">

`std::size_t` **`nbytes`**() `const`

</div>

Total byte size of the element data.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 320

</div>

### to(Device) {#to}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`to`**([`Device`](./Device.md) `device`) `const`

</div>

Move to [`device`](device-namespace/index.md), landing on the calling thread's current lane there: an ambient stream set for [`device`](device-namespace/index.md) by a placement scope names the lane, otherwise the thread's own asynchronous lane (the stream `StreamOrDevice(device).resolve()` names); never the device's default stream. A tensor already on [`device`](device-namespace/index.md) passes through unchanged, unless an ambient stream on that device names the lane it must land on (then it is re-homed onto it).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 332

</div>

### to(DataType) {#to-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`to`**([`DataType`](../index.md#DataType) `dtype`) `const`

</div>

Move to [`device`](device-namespace/index.md), landing on the calling thread's current lane there: an ambient stream set for [`device`](device-namespace/index.md) by a placement scope names the lane, otherwise the thread's own asynchronous lane (the stream `StreamOrDevice(device).resolve()` names); never the device's default stream. A tensor already on [`device`](device-namespace/index.md) passes through unchanged, unless an ambient stream on that device names the lane it must land on (then it is re-homed onto it).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 335

</div>

### to(Device, DataType) {#to-3}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`to`**([`Device`](./Device.md) `device`, [`DataType`](../index.md#DataType) `dtype`) `const`

</div>

Move to [`device`](device-namespace/index.md), landing on the calling thread's current lane there: an ambient stream set for [`device`](device-namespace/index.md) by a placement scope names the lane, otherwise the thread's own asynchronous lane (the stream `StreamOrDevice(device).resolve()` names); never the device's default stream. A tensor already on [`device`](device-namespace/index.md) passes through unchanged, unless an ambient stream on that device names the lane it must land on (then it is re-homed onto it).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 338

</div>

### contiguous() {#contiguous}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`contiguous`**() `const`

</div>

A row-major contiguous tensor: a metadata-only view when already contiguous, otherwise a freshly packed copy.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 342

</div>

### pin\_memory() {#pin_memory}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`pin_memory`**([`StreamOrDevice`](./StreamOrDevice.md) `peer`) `const`

</div>

A page-locked host copy pinned for `peer`'s DMA, or this tensor itself when already pinned for that peer. The tensor must be CPU-resident (pin never performs a hidden device→host transfer). Bind the result once and write it every step ([`copy_into`](./Tensor.md#copy_into)) for an allocation-free serving loop.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 349

</div>

### const\_data\_ptr() {#const_data_ptr}

<div class="api-signature">

`const void*` **`const_data_ptr`**() `const`

</div>

Read-only pointer to the tensor's storage, for host-side consumption.

Requires HOST-RESIDENT data: a CPU tensor, or pinned host memory. Any other device tensor raises; move the data with `to(Device::cpu())` first, or take [`device_const_data_ptr()`](./Tensor.md#device_const_data_ptr) when a kernel on that device is the reader. The pointer addresses the tensor's FIRST element; a non-contiguous view's elements are NOT adjacent; walk by [`strides()`](./Tensor.md#strides) (or densify with [`ops::contiguous`](./ops/contiguous.md#contiguous) before raw iteration). Never compare tensors by this pointer; distinct tensors may alias one storage.

**Throws**

- `ClikaRT::Error`: when the data is not host-resident.

**Returns:** pointer to the first element, valid while this [Tensor](./Tensor.md) (or any alias of its storage) is alive.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 373

</div>

### mutable\_data\_ptr() {#mutable_data_ptr}

<div class="api-signature">

`void*` **`mutable_data_ptr`**()

</div>

Writable pointer to the tensor's storage, [`const_data_ptr`](./Tensor.md#const_data_ptr)'s mutable sibling, same HOST-RESIDENT requirement and stride caveats. Writes land in the shared storage, visible to every alias/view of it. A kernel on the tensor's device writes through [`device_mutable_data_ptr()`](./Tensor.md#device_mutable_data_ptr) instead.

**Throws**

- `ClikaRT::Error`: when the data is not host-resident.

**Returns:** pointer to the first element.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 382

</div>

### device\_const\_data\_ptr() {#device_const_data_ptr}

<div class="api-signature">

`const void*` **`device_const_data_ptr`**() `const`

</div>

Read-only pointer to the tensor's storage on the tensor's own device, for a kernel launched there. No host wait: the pointer is ordered on the tensor's stream, so inside a custom operator's `compute()` it is valid for a kernel launched on [`stream()`](./Tensor.md#stream)`.native_handle()` (the runtime has already ordered that stream after the inputs' producers). Anywhere else, [`synchronize()`](./Tensor.md#synchronize) this tensor first and launch on the same stream.

The pointer is what the backend's own kernel API takes for this storage: a device address for a CUDA tensor (a CUDA kernel dereferences it, host code never does), the host address for a CPU tensor, and an opaque buffer handle for the Vulkan and Metal backends. Same first-element and stride caveats as [`const_data_ptr`](./Tensor.md#const_data_ptr); never compare tensors by this pointer.

**Throws**

- `ClikaRT::Error`: when the tensor carries no data (a traced placeholder).

**Returns:** pointer to the first element, valid while this [Tensor](./Tensor.md) (or any alias of its storage) is alive.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 403

</div>

### device\_mutable\_data\_ptr() {#device_mutable_data_ptr}

<div class="api-signature">

`void*` **`device_mutable_data_ptr`**()

</div>

Writable pointer to the tensor's storage on the tensor's own device, [`device_const_data_ptr`](./Tensor.md#device_const_data_ptr)'s mutable sibling: same stream ordering, same meaning per backend, same stride caveats. This is how a custom operator's `compute()` writes its pre-allocated outputs from a device kernel. Writes land in the shared storage, visible to every alias/view of it.

**Throws**

- `ClikaRT::Error`: when the tensor carries no data.

**Returns:** pointer to the first element.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 414

</div>

### item() {#item}

<div class="api-signature">

`template <``typename T``>`<br />`T` **`item`**() `const`

</div>

Read the single element of a one-element tensor as `T` (host read; brings the value to the host first). A wrong `T` for this tensor's dtype, or a numel \!= 1, raises [`ClikaRT::Error`](./Error.md). `T` is `float`/`double`/an integer width (`bool` allowed), or `float16_t`/`bfloat16_t` for the half dtypes.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 421

</div>

### item\_as\_vec() {#item_as_vec}

<div class="api-signature">

`template <``typename T``>`<br />`std::vector<T>` **`item_as_vec`**() `const`

</div>

Read every element of a 0-D or 1-D tensor as `std::vector<T>` (host read). Requires the tensor be contiguous and `T` match its dtype; a Float16 / BFloat16 tensor reads as `float16_t` / `bfloat16_t`. `bool` and sub-byte dtypes are not supported here (use [`const_data_ptr`](./Tensor.md#const_data_ptr)).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 432

</div>

### schedule() {#schedule}

<div class="api-signature">

`void` **`schedule`**()

</div>

Run this tensor's deferred computation (a traced placeholder's, see [`TracingScope`](./TracingScope.md)) on the tensor's stream WITHOUT waiting for it: on an asynchronous lane it returns before the value exists; on the default stream it completes inline. [`synchronize()`](./Tensor.md#synchronize) waits either way. A tensor with no deferred computation is a no-op success.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 446

</div>

### synchronize() {#synchronize}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`synchronize`**()

</div>

Block until this tensor's pending work has completed, THE settle point where an asynchronous failure surfaces. Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 453

</div>

### record\_stream() {#record_stream}

<div class="api-signature">

`void` **`record_stream`**(`const` [`Stream`](./Stream.md)`&` `stream`)

</div>

Record [`stream`](./Tensor.md#stream) as a reader of this tensor's bytes at the stream's current position: a later writer of the same bytes, on any stream, waits for the reads queued on [`stream`](./Tensor.md#stream) so far, and a free of the buffer while those reads are still pending parks it until [`stream`](./Tensor.md#stream) has run past them. The DLPack handoff's release half: a capsule's deleter records the consumer's stream before it drops the runtime's reference, so the consumer's kernels still queued there read the bytes they were given, never a successor's. A read queued on [`stream`](./Tensor.md#stream) AFTER the call is not covered; record again. [`stream`](./Tensor.md#stream) must be a live handle on this tensor's device (`InvalidArgument` otherwise). Does not wait.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 466

</div>

### status() {#status}

<div class="api-signature">

[`Status`](./Tensor.md#Status) **`status`**() `const`

</div>

Where this tensor is in its async lifecycle. Do not call on a default (undefined) tensor.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 470

</div>

### is\_complete() {#is_complete}

<div class="api-signature">

`bool` **`is_complete`**() `const noexcept`

</div>

True once this tensor's pending work has completed: the poll-style counterpart of [`synchronize()`](./Tensor.md#synchronize) (which waits) and [`on_complete()`](./Tensor.md#on_complete) (which calls back). Never blocks: a non-blocking completion query per producer still in flight, no device wait, no host sync. False while a producing kernel is still running; true once it has finished, for a tensor built from a host buffer, for a tensor with no pending work (a traced placeholder included; those are the tensors [`on_complete`](./Tensor.md#on_complete) calls back without delay), and for a default (undefined) tensor. It is also true once the producing device has met a terminal fault; [`synchronize()`](./Tensor.md#synchronize) then reports that fault. A `true` answer surfaces no asynchronous failure and reads no bytes: [`synchronize()`](./Tensor.md#synchronize) stays the settle point, and a read still goes through the ordinary accessors.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 484

</div>

### on\_complete() {#on_complete}

<div class="api-signature">

`void` **`on_complete`**(`std::function<void(const` [`Tensor`](./Tensor.md) `&)>` `callback`) `const`

</div>

Register a callback that fires when this tensor's producing kernel finishes, the push-style counterpart to [`synchronize()`](./Tensor.md#synchronize). It runs on a small internal callback pool (NOT the thread that called [`on_complete`](./Tensor.md#on_complete)), and fires immediately if the tensor has no pending work. The callback receives this tensor by const ref. Keep the body short and do not block; a throw from it is swallowed. Thread-safe. A callback that reads a DIFFERENT tensor, one it was not registered on, should hold its own handle to it or [`synchronize()`](./Tensor.md#synchronize) it first: the callback joins no dispatch ordering, so a concurrent in-place update cannot know to wait for that read.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 495

</div>

### is\_same() {#is_same}

<div class="api-signature">

`bool` **`is_same`**(`const` [`Tensor`](./Tensor.md)`&` `other`) `const`

</div>

True if `other` is the **same** tensor object (a handle copy of this one). A view (e.g. from [`ops::reshape`](./ops/reshape.md#reshape)) is NOT [`is_same`](./Tensor.md#is_same); use [`is_alias_of`](./Tensor.md#is_alias_of).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 514

</div>

### is\_alias\_of() {#is_alias_of}

<div class="api-signature">

`bool` **`is_alias_of`**(`const` [`Tensor`](./Tensor.md)`&` `other`) `const`

</div>

True if `other` shares the **same underlying storage** (a write through one is visible through the other). A copy and a view both alias their source.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 517

</div>

### to\_string() {#to_string}

<div class="api-signature">

`std::string` **`to_string`**() `const`

</div>

A human-readable summary: shape, dtype, device, element count, and the first few values (host-read; large tensors are truncated). For logging / debugging: `std::printf("s", t.to_string().c_str())`, or stream it (`os << t.to_string()`). Infallible: a value it cannot read back is shown as a short marker instead.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 526

</div>

### operator+(ops::ScalarOrTensor) {#operator-plus}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator+`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 539

</div>

### operator-(ops::ScalarOrTensor) {#operator-minus}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator-`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 540

</div>

### operator\*() {#operator-mul}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator*`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 541

</div>

### operator/() {#operator-div}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator/`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 542

</div>

### operator%() {#operator-mod}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator%`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 543

</div>

### operator-() {#operator-minus-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator-`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 545

</div>

### operator+() {#operator-plus-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator+`**() `const`

</div>

Unary plus: identity (returns a copy of the handle).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 547

</div>

### operator+=() {#operator-plus-assign}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator+=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place elementwise `+=` of a scalar or broadcastable tensor, the operator spelling of [`add_()`](./Tensor.md#add_); same semantics and error conditions as [`ops::add_`](./ops/add_.md#add_). Raises [`ClikaRT::Error`](./Error.md) on failure; returns `*this`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 553

</div>

### operator-=() {#operator-minus-assign}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator-=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place elementwise `-=` of a scalar or broadcastable tensor, the operator spelling of [`sub_()`](./Tensor.md#sub_); same semantics and error conditions as [`ops::sub_`](./ops/sub_.md#sub_). Raises [`ClikaRT::Error`](./Error.md) on failure; returns `*this`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 558

</div>

### operator\*=() {#operator-mul-assign}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator*=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place elementwise `*=` of a scalar or broadcastable tensor, the operator spelling of [`mul_()`](./Tensor.md#mul_); same semantics and error conditions as [`ops::mul_`](./ops/mul_.md#mul_). Raises [`ClikaRT::Error`](./Error.md) on failure; returns `*this`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 563

</div>

### operator/=() {#operator-div-assign}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`operator/=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place elementwise `/=` of a scalar or broadcastable tensor, the operator spelling of [`div_()`](./Tensor.md#div_); same semantics and error conditions as [`ops::div_`](./ops/div_.md#div_). Raises [`ClikaRT::Error`](./Error.md) on failure; returns `*this`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 568

</div>

### operator==() {#operator-eq}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator==`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 571

</div>

### operator\!=() {#operator-ne}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator!=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 572

</div>

### operator\<() {#operator-lt}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator<`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 573

</div>

### operator\<=() {#operator-le}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator<=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 574

</div>

### operator\>() {#operator-gt}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator>`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 575

</div>

### operator\>=() {#operator-ge}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`operator>=`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 576

</div>

### abs() {#abs}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`abs`**() `const`

</div>

Method form of [`ops::abs`](./ops/abs.md#abs): elementwise absolute value; same contract. Returns a new tensor; raises [`ClikaRT::Error`](./Error.md) where [`ops::abs`](./ops/abs.md#abs) does.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 581

</div>

### neg() {#neg}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`neg`**() `const`

</div>

Method form of [`ops::neg`](./ops/neg.md#neg): elementwise negation; same contract. Returns a new tensor; raises [`ClikaRT::Error`](./Error.md) where [`ops::neg`](./ops/neg.md#neg) does.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 584

</div>

### sum() {#sum}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`sum`**() `const`

</div>

Whole-tensor [`sum`](./Tensor.md#sum) to a 0-D tensor, the method form of [`ops::sum`](./ops/sum.md#sum); same reduction semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 590

</div>

### sum(Span\< int64\_t\>, bool) {#sum-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`sum`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim` `=` `false`) `const`

</div>

[`sum`](./Tensor.md#sum) along `dims`, the method form of `ops::sum(x, dims, keepdim)`; `keepdim` keeps the reduced dims as size 1. Same semantics and error conditions as the [`ops`](./ops/index.md)`::` form.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 594

</div>

### mean() {#mean}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mean`**() `const`

</div>

Whole-tensor [`mean`](./Tensor.md#mean) to a 0-D tensor, the method form of [`ops::mean`](./ops/mean.md#mean); same reduction semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 597

</div>

### mean(Span\< int64\_t\>, bool) {#mean-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mean`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim` `=` `false`) `const`

</div>

[`mean`](./Tensor.md#mean) along `dims`, the method form of `ops::mean(x, dims, keepdim)`; `keepdim` keeps the reduced dims as size 1. Same semantics and error conditions as the [`ops`](./ops/index.md)`::` form.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 601

</div>

### max() {#max}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max`**() `const`

</div>

Whole-tensor [`max`](./Tensor.md#max) to a 0-D tensor, the method form of [`ops::max`](./ops/max.md#max); same reduction semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 604

</div>

### max(Span\< int64\_t\>, bool) {#max-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim` `=` `false`) `const`

</div>

[`max`](./Tensor.md#max) along `dims`, the method form of `ops::max(x, dims, keepdim)`; `keepdim` keeps the reduced dims as size 1. Same semantics and error conditions as the [`ops`](./ops/index.md)`::` form.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 608

</div>

### min() {#min}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`min`**() `const`

</div>

Whole-tensor [`min`](./Tensor.md#min) to a 0-D tensor, the method form of [`ops::min`](./ops/min.md#min); same reduction semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 611

</div>

### min(Span\< int64\_t\>, bool) {#min-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`min`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim` `=` `false`) `const`

</div>

[`min`](./Tensor.md#min) along `dims`, the method form of `ops::min(x, dims, keepdim)`; `keepdim` keeps the reduced dims as size 1. Same semantics and error conditions as the [`ops`](./ops/index.md)`::` form.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 615

</div>

### add() {#add}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`add`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

Method form of [`ops::add`](./ops/add.md#add) with a scalar or broadcastable tensor operand. Returns a NEW tensor and chains fluently (`a.relu().`[`add`](./Tensor.md#add)`(1.0)`); same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 623

</div>

### sub() {#sub}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`sub`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

Method form of [`ops::sub`](./ops/sub.md#sub) with a scalar or broadcastable tensor operand. Returns a NEW tensor and chains fluently (`a.relu().`[`sub`](./Tensor.md#sub)`(1.0)`); same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 627

</div>

### mul() {#mul}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mul`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

Method form of [`ops::mul`](./ops/mul.md#mul) with a scalar or broadcastable tensor operand. Returns a NEW tensor and chains fluently (`a.relu().`[`mul`](./Tensor.md#mul)`(1.0)`); same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 631

</div>

### div() {#div}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`div`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`) `const`

</div>

Method form of [`ops::div`](./ops/div.md#div) with a scalar or broadcastable tensor operand. Returns a NEW tensor and chains fluently (`a.relu().`[`div`](./Tensor.md#div)`(1.0)`); same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 635

</div>

### matmul() {#matmul}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`matmul`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

Method form of [`ops::matmul`](./ops/matmul.md#matmul): batched matrix multiply with the [`ops`](./ops/index.md)`::` broadcasting/promotion contract; returns a new tensor.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 676

</div>

### reshape() {#reshape}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`reshape`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexBound`](./ops/IndexBound.md)`>` `shape`) `const`

</div>

A dim entry is an int literal OR a 0-D/1-D integer [Tensor](./Tensor.md) (an [`ops::IndexBound`](./ops/IndexBound.md), e.g. a [`shape_host`](./Tensor.md#shape_host) read); see [`ops::reshape`](./ops/reshape.md#reshape).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 679

</div>

### softmax() {#softmax}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softmax`**(`std::int64_t` `dim` `=` `-1`) `const`

</div>

Method form of [`ops::softmax`](./ops/softmax.md#softmax) along `dim` (default `-1`); same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 682

</div>

### shape\_host() {#shape_host}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`shape_host`**() `const`

</div>

The shape as a HOST-resident Int64 tensor written from metadata: no device kernel, no readback, no stream synchronize (unlike the concrete [`shape()`](./Tensor.md#shape) ints, which wait for an in-flight producer). Feed it to shape-consuming op arguments, e.g. `x.reshape({x.shape_host(1), d})`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 687

</div>

### shape\_host(int64\_t) {#shape_host-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`shape_host`**(`std::int64_t` `dim`) `const`

</div>

One dim of the shape as a 0-D Int64 host tensor (negative `dim` counts from the end). Same no-sync contract as [`shape_host()`](./Tensor.md#shape_host).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 690

</div>

### numel\_host() {#numel_host}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`numel_host`**() `const`

</div>

The element count as a 0-D Int64 HOST tensor written from metadata; the same no-sync contract as [`shape_host()`](./Tensor.md#shape_host). Composes the flatten idiom `x.reshape({x.numel_host()})`.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 694

</div>

### ndim\_host() {#ndim_host}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ndim_host`**() `const`

</div>

The rank as a 0-D Int64 HOST tensor written from metadata; the same no-sync contract as [`shape_host()`](./Tensor.md#shape_host).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 697

</div>

### pow() {#pow}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`pow`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `exponent`) `const`

</div>

Method form of [`ops::pow`](./ops/pow.md#pow): elementwise power with a scalar or broadcastable exponent; same semantics and error conditions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 700

</div>

### index() {#index}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexEntry`](./ops/IndexEntry.md)`>` `indices`) `const`

</div>

Advanced indexing: `t.index({1, `[`ops::slice_all`](./ops/index.md#slice_all)`, idx_tensor})`. Entries are the standard vocabulary ([`ops::IndexEntry`](./ops/IndexEntry.md)): int, bool, [Tensor](./Tensor.md), [`ops::IndexSlice`](./ops/IndexSlice.md), [`ops::ellipsis`](./ops/index.md#ellipsis), [`ops::new_axis`](./ops/index.md#new_axis).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 704

</div>

### index\_put() {#index_put}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index_put`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexEntry`](./ops/IndexEntry.md)`>` `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `accumulate` `=` `false`<br />
) `const`

</div>

The out-of-place write-through-index: a copy of `this` with `value` written (or accumulated) at the indexed positions.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 707

</div>

### index\_put\_() {#index_put_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`index_put_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexEntry`](./ops/IndexEntry.md)`>` `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `accumulate` `=` `false`<br />
)

</div>

In-place `t[indices] = value` (or `+=` with `accumulate`); returns `*this` so it chains. A failure raises [`ClikaRT::Error`](./Error.md).

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 710

</div>

### add\_() {#add_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`add_`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place [`add`](./Tensor.md#add): writes through this tensor's storage; same formula, arguments, and error conditions as [`ops::add_`](./ops/add_.md#add_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling; views write through their base storage.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 718

</div>

### sub\_() {#sub_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`sub_`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place [`sub`](./Tensor.md#sub): writes through this tensor's storage; same formula, arguments, and error conditions as [`ops::sub_`](./ops/sub_.md#sub_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling; views write through their base storage.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 722

</div>

### mul\_() {#mul_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`mul_`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place [`mul`](./Tensor.md#mul): writes through this tensor's storage; same formula, arguments, and error conditions as [`ops::mul_`](./ops/mul_.md#mul_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling; views write through their base storage.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 726

</div>

### div\_() {#div_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`div_`**(`const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`&` `other`)

</div>

In-place [`div`](./Tensor.md#div): writes through this tensor's storage; same formula, arguments, and error conditions as [`ops::div_`](./ops/div_.md#div_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling; views write through their base storage.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 730

</div>

### abs\_() {#abs_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`abs_`**()

</div>

In-place [`abs`](./Tensor.md#abs): writes through this tensor's storage; same contract as [`ops::abs_`](./ops/abs_.md#abs_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 733

</div>

### neg\_() {#neg_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`neg_`**()

</div>

In-place [`neg`](./Tensor.md#neg): writes through this tensor's storage; same contract as [`ops::neg_`](./ops/neg_.md#neg_). Returns `*this` under the value surface, [`Result`](./Result.md)`<void>` under the [`Result`](./Result.md) surface; [`CLIKART_CHECK`](../index.md#CLIKART_CHECK) is the mode-stable spelling.

<div class="api-declared">

Declared in `ClikaRT/compute/tensor.h`, line 736

</div>

### elu() {#elu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`elu`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `input_scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 10

</div>

### elu\_() {#elu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`elu_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `input_scale`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 12

</div>

### selu() {#selu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`selu`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 14

</div>

### selu\_() {#selu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`selu_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 16

</div>

### celu() {#celu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`celu`**(`double` `alpha`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 18

</div>

### celu\_() {#celu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`celu_`**(`double` `alpha`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 20

</div>

### geglu() {#geglu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`geglu`**([`ops::GeluMode`](./ops/index.md#GeluMode) `approximate`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 22

</div>

### reglu() {#reglu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`reglu`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 24

</div>

### quick\_gelu() {#quick_gelu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`quick_gelu`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 26

</div>

### fast\_gelu() {#fast_gelu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fast_gelu`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 28

</div>

### glu() {#glu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`glu`**(`int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 30

</div>

### hardshrink() {#hardshrink}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hardshrink`**(`double` `lambd`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 32

</div>

### hardshrink\_() {#hardshrink_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`hardshrink_`**(`double` `lambd`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 34

</div>

### hardsigmoid() {#hardsigmoid}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hardsigmoid`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 36

</div>

### hardsigmoid\_() {#hardsigmoid_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`hardsigmoid_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 38

</div>

### hardswish() {#hardswish}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hardswish`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 40

</div>

### hardswish\_() {#hardswish_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`hardswish_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 42

</div>

### hardtanh() {#hardtanh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hardtanh`**(`double` `min_val`, `double` `max_val`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 44

</div>

### hardtanh\_() {#hardtanh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`hardtanh_`**(`double` `min_val`, `double` `max_val`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 46

</div>

### leaky\_relu() {#leaky_relu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`leaky_relu`**(`double` `negative_slope`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 48

</div>

### leaky\_relu\_() {#leaky_relu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`leaky_relu_`**(`double` `negative_slope`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 50

</div>

### log\_sigmoid() {#log_sigmoid}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`log_sigmoid`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 52

</div>

### log\_sigmoid\_() {#log_sigmoid_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`log_sigmoid_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 54

</div>

### log\_softmax() {#log_softmax}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`log_softmax`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 56

</div>

### log\_softmax\_() {#log_softmax_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`log_softmax_`**(`int64_t` `dim`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 58

</div>

### mish() {#mish}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mish`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 60

</div>

### mish\_() {#mish_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`mish_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 62

</div>

### prelu() {#prelu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`prelu`**([`Tensor`](./Tensor.md) `weight`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 64

</div>

### prelu\_() {#prelu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`prelu_`**([`Tensor`](./Tensor.md) `weight`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 66

</div>

### relu6() {#relu6}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`relu6`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 68

</div>

### relu6\_() {#relu6_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`relu6_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 70

</div>

### snake() {#snake}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`snake`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `eps`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 72

</div>

### snake\_() {#snake_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`snake_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `eps`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 74

</div>

### softmax\_() {#softmax_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softmax_`**(`int64_t` `dim`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 76

</div>

### softmin() {#softmin}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softmin`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 78

</div>

### softmin\_() {#softmin_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softmin_`**(`int64_t` `dim`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 80

</div>

### softplus() {#softplus}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softplus`**(`double` `beta`, `double` `threshold`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 82

</div>

### softplus\_() {#softplus_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softplus_`**(`double` `beta`, `double` `threshold`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 84

</div>

### softshrink() {#softshrink}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softshrink`**(`double` `lambd`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 86

</div>

### softshrink\_() {#softshrink_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softshrink_`**(`double` `lambd`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 88

</div>

### softsign() {#softsign}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softsign`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 90

</div>

### softsign\_() {#softsign_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softsign_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 92

</div>

### swiglu() {#swiglu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`swiglu`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `limit`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 94

</div>

### threshold() {#threshold}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`threshold`**(`double` `threshold`, `double` `value`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 96

</div>

### threshold\_() {#threshold_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`threshold_`**(`double` `threshold`, `double` `value`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 98

</div>

### scaled\_dot\_product\_attention() {#scaled_dot_product_attention}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`scaled_dot_product_attention`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 100

</div>

### scaled\_dot\_product\_attention\_varlen() {#scaled_dot_product_attention_varlen}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`scaled_dot_product_attention_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 102

</div>

### attention() {#attention}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`attention`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `head_sink`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `softcap`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `sliding_window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `smooth_softmax`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kept_prefix`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 104

</div>

### attention\_varlen() {#attention_varlen}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`attention_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `head_sink`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `softcap`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `sliding_window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `smooth_softmax`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kept_prefix`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kv_position_offset`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 106

</div>

### group\_query\_attention() {#group_query_attention}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`group_query_attention`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `past_key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `past_value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kvcache_start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `softcap`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `sliding_window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `smooth_softmax`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `rotary_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `kv_num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `out_present_key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `out_present_value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `head_sink`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `q_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `k_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `qk_norm_eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kept_prefix`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 108

</div>

### group\_query\_attention\_varlen() {#group_query_attention_varlen}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`group_query_attention_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `past_key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `past_value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kvcache_start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `head_sink`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `softcap`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `sliding_window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `smooth_softmax`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `rotary_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `kv_num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `out_present_key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `out_present_value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `q_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `k_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `qk_norm_eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kept_prefix`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kv_position_offset`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 110

</div>

### attention\_over\_cache() {#attention_over_cache}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`attention_over_cache`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cache_key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cache_value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kvcache_start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max_seqlen_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `rope_sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attn_mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `is_causal`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `softcap`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `sliding_window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `smooth_softmax`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `rotary_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `kv_num_heads`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `k_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `v_scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `head_sink`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `q_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `k_norm_gain`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `qk_norm_eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kept_prefix`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kv_position_offset`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 112

</div>

### atan2() {#atan2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atan2`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 114

</div>

### atan2\_() {#atan2_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`atan2_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 116

</div>

### copysign() {#copysign}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`copysign`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 118

</div>

### copysign\_() {#copysign_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`copysign_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 120

</div>

### floor\_divide() {#floor_divide}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`floor_divide`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 122

</div>

### floor\_divide\_() {#floor_divide_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`floor_divide_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 124

</div>

### fmax() {#fmax}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fmax`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 126

</div>

### fmin() {#fmin}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fmin`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 128

</div>

### hypot() {#hypot}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hypot`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 130

</div>

### hypot\_() {#hypot_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`hypot_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 132

</div>

### logaddexp() {#logaddexp}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logaddexp`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 134

</div>

### logaddexp2() {#logaddexp2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logaddexp2`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 136

</div>

### maximum() {#maximum}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`maximum`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 138

</div>

### maximum\_() {#maximum_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`maximum_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 140

</div>

### minimum() {#minimum}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`minimum`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 142

</div>

### minimum\_() {#minimum_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`minimum_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 144

</div>

### mod() {#mod}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mod`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`, [`ops::ModMode`](./ops/index.md#ModMode) `mode`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 146

</div>

### mod\_() {#mod_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`mod_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`, [`ops::ModMode`](./ops/index.md#ModMode) `mode`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 148

</div>

### remainder() {#remainder}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`remainder`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 150

</div>

### remainder\_() {#remainder_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`remainder_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 152

</div>

### fmod() {#fmod}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fmod`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 154

</div>

### fmod\_() {#fmod_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`fmod_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 156

</div>

### deg2rad() {#deg2rad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`deg2rad`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 158

</div>

### deg2rad\_() {#deg2rad_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`deg2rad_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 160

</div>

### rad2deg() {#rad2deg}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rad2deg`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 162

</div>

### rad2deg\_() {#rad2deg_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`rad2deg_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 164

</div>

### pow\_() {#pow_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`pow_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `exponent`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 166

</div>

### xlog1py() {#xlog1py}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`xlog1py`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 168

</div>

### xlogy() {#xlogy}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`xlogy`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 170

</div>

### xlogy\_() {#xlogy_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`xlogy_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 172

</div>

### bitwise\_and() {#bitwise_and}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_and`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 174

</div>

### bitwise\_and\_() {#bitwise_and_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_and_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 176

</div>

### bitwise\_left\_shift() {#bitwise_left_shift}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_left_shift`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 178

</div>

### bitwise\_left\_shift\_() {#bitwise_left_shift_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_left_shift_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 180

</div>

### bitwise\_not() {#bitwise_not}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_not`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 182

</div>

### bitwise\_not\_() {#bitwise_not_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_not_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 184

</div>

### bitwise\_or() {#bitwise_or}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_or`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 186

</div>

### bitwise\_or\_() {#bitwise_or_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_or_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 188

</div>

### bitwise\_right\_shift() {#bitwise_right_shift}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_right_shift`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 190

</div>

### bitwise\_right\_shift\_() {#bitwise_right_shift_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_right_shift_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 192

</div>

### bitwise\_xor() {#bitwise_xor}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bitwise_xor`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 194

</div>

### bitwise\_xor\_() {#bitwise_xor_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bitwise_xor_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 196

</div>

### allclose() {#allclose}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`allclose`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `other`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `rtol`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `atol`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `equal_nan`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 198

</div>

### eq() {#eq}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`eq`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 200

</div>

### eq\_() {#eq_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`eq_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 202

</div>

### ge() {#ge}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ge`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 204

</div>

### ge\_() {#ge_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`ge_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 206

</div>

### gt() {#gt}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`gt`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 208

</div>

### gt\_() {#gt_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`gt_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 210

</div>

### isclose() {#isclose}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isclose`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `other`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `rtol`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `atol`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `equal_nan`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 212

</div>

### isfinite() {#isfinite}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isfinite`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 214

</div>

### isinf() {#isinf}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isinf`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 216

</div>

### isnan() {#isnan}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isnan`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 218

</div>

### isneginf() {#isneginf}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isneginf`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 220

</div>

### isposinf() {#isposinf}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`isposinf`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 222

</div>

### le() {#le}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`le`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 224

</div>

### le\_() {#le_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`le_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 226

</div>

### logical\_and() {#logical_and}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logical_and`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 228

</div>

### logical\_and\_() {#logical_and_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`logical_and_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 230

</div>

### logical\_not() {#logical_not}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logical_not`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 232

</div>

### logical\_not\_() {#logical_not_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`logical_not_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 234

</div>

### logical\_or() {#logical_or}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logical_or`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 236

</div>

### logical\_or\_() {#logical_or_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`logical_or_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 238

</div>

### logical\_xor() {#logical_xor}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logical_xor`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 240

</div>

### logical\_xor\_() {#logical_xor_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`logical_xor_`**([`Tensor`](./Tensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 242

</div>

### lt() {#lt}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`lt`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 244

</div>

### lt\_() {#lt_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`lt_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 246

</div>

### ne() {#ne}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ne`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 248

</div>

### ne\_() {#ne_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`ne_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 250

</div>

### conv() {#conv}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::PadMode`](./ops/index.md#PadMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 252

</div>

### conv1d() {#conv1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 254

</div>

### conv2d() {#conv2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 256

</div>

### conv3d() {#conv3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 258

</div>

### conv\_transpose() {#conv_transpose}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv_transpose`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 260

</div>

### conv\_transpose1d() {#conv_transpose1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv_transpose1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 262

</div>

### conv\_transpose2d() {#conv_transpose2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv_transpose2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 264

</div>

### conv\_transpose3d() {#conv_transpose3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`conv_transpose3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 266

</div>

### deform\_conv() {#deform_conv}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`deform_conv`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `offset`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `mask`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `offset_groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Activation`](./ops/index.md#Activation) `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 268

</div>

### fold() {#fold}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fold`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::PadMode`](./ops/index.md#PadMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `value`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 270

</div>

### unfold() {#unfold}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`unfold`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::PadMode`](./ops/index.md#PadMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `value`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 272

</div>

### cast() {#cast}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cast`**([`DataType`](../index.md#DataType) `target`, `bool` `force_copy`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 274

</div>

### cast\_like() {#cast_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cast_like`**([`Tensor`](./Tensor.md) `reference`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 276

</div>

### copy() {#copy}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`copy`**([`StreamOrDevice`](./StreamOrDevice.md) `target`, `bool` `force_copy`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 278

</div>

### clone() {#clone}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`clone`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 280

</div>

### copy\_() {#copy_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`copy_`**([`Tensor`](./Tensor.md) `src`, [`StreamOrDevice`](./StreamOrDevice.md) `target`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 282

</div>

### copy\_into() {#copy_into}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`copy_into`**([`Tensor`](./Tensor.md) `src`, [`StreamOrDevice`](./StreamOrDevice.md) `target`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 284

</div>

### copy\_to\_cpu() {#copy_to_cpu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`copy_to_cpu`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 286

</div>

### embedding() {#embedding}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`embedding`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 288

</div>

### one\_hot() {#one_hot}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`one_hot`**(`int64_t` `num_classes`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 290

</div>

### rotary\_embedding() {#rotary_embedding}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rotary_embedding`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `low_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `high_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `original_max_pos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_fast`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_slow`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `freq_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 292

</div>

### rotary\_embedding\_qk() {#rotary_embedding_qk}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`rotary_embedding_qk`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `low_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `high_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `original_max_pos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_fast`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_slow`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `freq_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 294

</div>

### rotary\_embedding\_varlen() {#rotary_embedding_varlen}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rotary_embedding_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `seqlens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `low_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `high_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `original_max_pos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_fast`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_slow`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `freq_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 296

</div>

### rotary\_embedding\_qk\_varlen() {#rotary_embedding_qk_varlen}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`rotary_embedding_qk_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `seqlens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sin`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `low_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `high_freq_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `original_max_pos`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_fast`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta_slow`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `freq_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 298

</div>

### mrope\_rotary\_embedding() {#mrope_rotary_embedding}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mrope_rotary_embedding`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `mrope_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `interleaved_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 300

</div>

### mrope\_rotary\_embedding\_varlen() {#mrope_rotary_embedding_varlen}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mrope_rotary_embedding_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `mrope_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `interleaved_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 302

</div>

### mrope\_rotary\_embedding\_qk\_varlen() {#mrope_rotary_embedding_qk_varlen}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`mrope_rotary_embedding_qk_varlen`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `position_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `mrope_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `interleaved_sections`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `theta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RopeScaling`](./ops/index.md#RopeScaling)`>` `scaling`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::RotaryMode`](./ops/index.md#RotaryMode)`>` `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `rotary_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 304

</div>

### empty\_like() {#empty_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`empty_like`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 306

</div>

### fill() {#fill}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fill`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`, [`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 308

</div>

### fill\_() {#fill_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`fill_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`, [`StreamOrDevice`](./StreamOrDevice.md) `device`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 310

</div>

### full\_like() {#full_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`full_like`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `fill_value`, [`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 312

</div>

### ones\_like() {#ones_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ones_like`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 314

</div>

### zero\_() {#zero_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`zero_`**([`StreamOrDevice`](./StreamOrDevice.md) `device`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 316

</div>

### zeros\_like() {#zeros_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`zeros_like`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 318

</div>

### gather() {#gather}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`gather`**(`int64_t` `dim`, [`Tensor`](./Tensor.md) `index`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 320

</div>

### take\_along\_dim() {#take_along_dim}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`take_along_dim`**([`Tensor`](./Tensor.md) `index`, `std::optional<int64_t>` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 322

</div>

### take() {#take}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`take`**([`Tensor`](./Tensor.md) `index`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 324

</div>

### index\_add() {#index_add}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index_add`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 326

</div>

### index\_add\_() {#index_add_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`index_add_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 328

</div>

### index\_copy() {#index_copy}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index_copy`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 330

</div>

### index\_copy\_() {#index_copy_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`index_copy_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 332

</div>

### index\_fill() {#index_fill}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index_fill`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 334

</div>

### index\_fill\_() {#index_fill_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`index_fill_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `indices`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 336

</div>

### index\_select() {#index_select}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`index_select`**(`int64_t` `dim`, [`Tensor`](./Tensor.md) `index`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 338

</div>

### masked\_fill() {#masked_fill}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`masked_fill`**([`Tensor`](./Tensor.md) `mask`, [`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 340

</div>

### masked\_fill\_() {#masked_fill_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`masked_fill_`**([`Tensor`](./Tensor.md) `mask`, [`ops::ScalarOrTensor`](./ScalarOrTensor.md) `value`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 342

</div>

### masked\_scatter() {#masked_scatter}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`masked_scatter`**([`Tensor`](./Tensor.md) `mask`, [`Tensor`](./Tensor.md) `source`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 344

</div>

### masked\_scatter\_() {#masked_scatter_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`masked_scatter_`**([`Tensor`](./Tensor.md) `mask`, [`Tensor`](./Tensor.md) `source`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 346

</div>

### masked\_select() {#masked_select}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`masked_select`**([`Tensor`](./Tensor.md) `mask`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 348

</div>

### nonzero() {#nonzero}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nonzero`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 350

</div>

### put() {#put}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`put`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `source`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `accumulate`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 352

</div>

### put\_() {#put_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`put_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `source`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `accumulate`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 354

</div>

### scatter() {#scatter}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`scatter`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `src`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 356

</div>

### scatter\_() {#scatter_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`scatter_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `src`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 358

</div>

### scatter\_add() {#scatter_add}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`scatter_add`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `deterministic`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 360

</div>

### scatter\_add\_() {#scatter_add_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`scatter_add_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `deterministic`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 362

</div>

### scatter\_reduce() {#scatter_reduce}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`scatter_reduce`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScatterReduceMode`](./ops/index.md#ScatterReduceMode) `reduce`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `include_self`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `deterministic`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 364

</div>

### scatter\_reduce\_() {#scatter_reduce_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`scatter_reduce_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `src`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScatterReduceMode`](./ops/index.md#ScatterReduceMode) `reduce`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `include_self`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `deterministic`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 366

</div>

### where(Tensor, Tensor) {#where}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`where`**([`Tensor`](./Tensor.md) `input`, [`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 368

</div>

### where() {#where-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`where`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 370

</div>

### nms() {#nms}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nms`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `scores`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `max_output_boxes_per_class`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `iou_threshold`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `score_threshold`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `center_point_box`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 372

</div>

### cosine\_similarity() {#cosine_similarity}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cosine_similarity`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `x2`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 374

</div>

### cross() {#cross}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cross`**([`Tensor`](./Tensor.md) `other`, `std::optional<int64_t>` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 376

</div>

### dot() {#dot}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`dot`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 378

</div>

### inner() {#inner}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`inner`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 380

</div>

### kron() {#kron}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`kron`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 382

</div>

### mm() {#mm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `other`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 384

</div>

### bmm() {#bmm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bmm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `other`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 386

</div>

### mv() {#mv}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mv`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `vec`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 388

</div>

### linear() {#linear}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`linear`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `situ_beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `situ_linear_beta`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 390

</div>

### moe() {#moe}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`moe`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `router_logits`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc1_experts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc2_experts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `top_k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc1_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc2_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc3_experts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `fc3_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `e_score_correction_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `router_weights`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::MoeRouting`](./ops/index.md#MoeRouting)`>` `routing_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `renormalize`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `n_group`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `topk_group`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `routed_scaling_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `sparse_mixer_eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `apply_router_weight_on_input`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::fused::SwigluFusion`](./ops/fused/index.md#SwigluFusion)`>` `swiglu_fusion`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `swiglu_alpha`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `swiglu_beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `swiglu_limit`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::GeluMode`](./ops/index.md#GeluMode)`>` `gelu_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `shared_output`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 392

</div>

### outer() {#outer}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`outer`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 394

</div>

### tensordot() {#tensordot}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`tensordot`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `b`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims_a`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims_b`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 396

</div>

### binary\_cross\_entropy() {#binary_cross_entropy}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`binary_cross_entropy`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 398

</div>

### binary\_cross\_entropy\_with\_logits() {#binary_cross_entropy_with_logits}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`binary_cross_entropy_with_logits`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `pos_weight`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 400

</div>

### cross\_entropy() {#cross_entropy}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cross_entropy`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `ignore_index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 402

</div>

### huber\_loss() {#huber_loss}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`huber_loss`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `delta`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 404

</div>

### kl\_div() {#kl_div}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`kl_div`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `log_target`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 406

</div>

### l1\_loss() {#l1_loss}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`l1_loss`**([`Tensor`](./Tensor.md) `target`, [`ops::Reduction`](./ops/index.md#Reduction) `reduction`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 408

</div>

### mse\_loss() {#mse_loss}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mse_loss`**([`Tensor`](./Tensor.md) `target`, [`ops::Reduction`](./ops/index.md#Reduction) `reduction`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 410

</div>

### nll\_loss() {#nll_loss}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nll_loss`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `ignore_index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 412

</div>

### smooth\_l1\_loss() {#smooth_l1_loss}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`smooth_l1_loss`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `target`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::Reduction`](./ops/index.md#Reduction) `reduction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `beta`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 414

</div>

### atleast\_1d() {#atleast_1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atleast_1d`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 416

</div>

### atleast\_2d() {#atleast_2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atleast_2d`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 418

</div>

### atleast\_3d() {#atleast_3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atleast_3d`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 420

</div>

### diag() {#diag}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`diag`**(`int64_t` `diagonal`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 422

</div>

### diag\_embed() {#diag_embed}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`diag_embed`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `offset`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim1`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim2`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 424

</div>

### diagonal() {#diagonal}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`diagonal`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `offset`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim1`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim2`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 426

</div>

### expand() {#expand}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`expand`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `shape`, `bool` `bidirectional`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 428

</div>

### expand\_as() {#expand_as}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`expand_as`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 430

</div>

### broadcast\_to() {#broadcast_to}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`broadcast_to`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `shape`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 432

</div>

### flatten() {#flatten}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`flatten`**(`int64_t` `start_dim`, `int64_t` `end_dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 434

</div>

### flip() {#flip}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`flip`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 436

</div>

### fliplr() {#fliplr}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`fliplr`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 438

</div>

### flipud() {#flipud}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`flipud`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 440

</div>

### pad() {#pad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`pad`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `pad`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::PadMode`](./ops/index.md#PadMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `value`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 442

</div>

### rfft() {#rfft}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rfft`**(`std::optional<std::int64_t>` `n_fft`, `bool` `normalized`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 444

</div>

### stft() {#stft}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`stft`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `n_fft`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<std::int64_t>` `hop_length`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<std::int64_t>` `win_length`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `window`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `center`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::PadMode`](./ops/index.md#PadMode) `pad_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `normalized`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `onesided`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 446

</div>

### resample() {#resample}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`resample`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `orig_freq`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `new_freq`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `lowpass_filter_width`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `rolloff`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `beta`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 448

</div>

### constant\_pad() {#constant_pad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`constant_pad`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `pad`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `value`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 450

</div>

### reflect\_pad() {#reflect_pad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`reflect_pad`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `pad`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 452

</div>

### replicate\_pad() {#replicate_pad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`replicate_pad`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `pad`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 454

</div>

### circular\_pad() {#circular_pad}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`circular_pad`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `pad`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 456

</div>

### permute() {#permute}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`permute`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 458

</div>

### transpose() {#transpose}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`transpose`**(`int64_t` `dim0`, `int64_t` `dim1`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 460

</div>

### repeat() {#repeat}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`repeat`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 462

</div>

### tile() {#tile}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`tile`**([`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `dims`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 464

</div>

### repeat\_interleave() {#repeat_interleave}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`repeat_interleave`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `repeats`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `output_size`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 466

</div>

### reshape\_as() {#reshape_as}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`reshape_as`**([`Tensor`](./Tensor.md) `other`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 468

</div>

### roll() {#roll}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`roll`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `shifts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 470

</div>

### rot90() {#rot90}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rot90`**(`int64_t` `k`, [`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 472

</div>

### select() {#select}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`select`**(`int64_t` `dim`, [`ops::IndexBound`](./ops/IndexBound.md) `index`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 474

</div>

### slice(int64\_t, ops::IndexBound, ops::IndexBound, ops::IndexBound) {#slice}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`slice`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::IndexBound`](./ops/IndexBound.md) `start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::IndexBound`](./ops/IndexBound.md) `end`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::IndexBound`](./ops/IndexBound.md) `step`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 476

</div>

### narrow() {#narrow}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`narrow`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::IndexBound`](./ops/IndexBound.md) `start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::IndexBound`](./ops/IndexBound.md) `length`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 478

</div>

### split\_with\_sizes() {#split_with_sizes}

<div class="api-signature">

`std::vector<`[`Tensor`](./Tensor.md)`>` **`split_with_sizes`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 480

</div>

### chunk() {#chunk}

<div class="api-signature">

`std::vector<`[`Tensor`](./Tensor.md)`>` **`chunk`**(`int64_t` `num_chunks`, `int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 482

</div>

### split\_by\_size() {#split_by_size}

<div class="api-signature">

`std::vector<`[`Tensor`](./Tensor.md)`>` **`split_by_size`**(`int64_t` `chunk_size`, `int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 484

</div>

### squeeze() {#squeeze}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`squeeze`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 486

</div>

### squeeze\_() {#squeeze_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`squeeze_`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dim`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 488

</div>

### tril() {#tril}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`tril`**(`int64_t` `diagonal`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 490

</div>

### tril\_() {#tril_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`tril_`**(`int64_t` `diagonal`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 492

</div>

### triu() {#triu}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`triu`**(`int64_t` `diagonal`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 494

</div>

### triu\_() {#triu_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`triu_`**(`int64_t` `diagonal`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 496

</div>

### unflatten() {#unflatten}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`unflatten`**(`int64_t` `dim`, [`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `sizes`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 498

</div>

### unsqueeze() {#unsqueeze}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`unsqueeze`**(`int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 500

</div>

### unsqueeze\_() {#unsqueeze_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`unsqueeze_`**(`int64_t` `dim`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 502

</div>

### add\_layer\_norm() {#add_layer_norm}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`add_layer_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `residual`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `post_residual`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `normalized_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `skip_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 504

</div>

### add\_rms\_norm() {#add_rms_norm}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`add_rms_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `residual`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `residual2`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `post_residual`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `normalized_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `skip_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 506

</div>

### qk\_rms\_norm() {#qk_rms_norm}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`qk_rms_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `head_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 508

</div>

### qk\_rms\_norm\_() {#qk_rms_norm_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`qk_rms_norm_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md)`*` `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md)`*` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `head_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 510

</div>

### qk\_layer\_norm() {#qk_layer_norm}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`qk_layer_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `head_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 512

</div>

### qk\_layer\_norm\_() {#qk_layer_norm_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`qk_layer_norm_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md)`*` `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md)`*` `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `query_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `head_dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 514

</div>

### batch\_norm() {#batch_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`batch_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_mean`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_var`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 516

</div>

### group\_norm() {#group_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`group_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `num_groups`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_mean`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_var`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 518

</div>

### instance\_norm() {#instance_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`instance_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_mean`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `running_var`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 520

</div>

### layer\_norm() {#layer_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`layer_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `normalized_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 522

</div>

### rms\_norm() {#rms_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rms_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `normalized_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 524

</div>

### gated\_rms\_norm() {#gated_rms_norm}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`gated_rms_norm`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `gate`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `normalized_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `eps`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 526

</div>

### causal\_conv\_update() {#causal_conv_update}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`causal_conv_update`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `state`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `seq_lens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::Activation`](./ops/index.md#Activation)`>` `activation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 528

</div>

### gated\_delta\_update() {#gated_delta_update}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`gated_delta_update`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `value`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `beta`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `gate`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `state`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `seq_lens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `gate_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `gate_scale`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 530

</div>

### ssd\_update() {#ssd_update}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ssd_update`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `dt`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `a_rate`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `b_mat`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `c_mat`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `d_skip`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `dt_bias`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `gate`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `state`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `seq_lens`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `dt_softplus`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 532

</div>

### mla\_attention() {#mla_attention}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`mla_attention`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `q_pe`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `new_ckv`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `new_kpe`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `ckv_cache`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kpe_cache`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `kvcache_start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `cu_seqlens_q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `scale`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `slot_ids`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 534

</div>

### ms\_deform\_attention() {#ms_deform_attention}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`ms_deform_attention`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `spatial_shapes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `level_start_index`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sampling_locations`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `attention_weights`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 536

</div>

### adaptive\_avg\_pool() {#adaptive_avg_pool}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_avg_pool`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 538

</div>

### adaptive\_avg\_pool1d() {#adaptive_avg_pool1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_avg_pool1d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 540

</div>

### adaptive\_avg\_pool2d() {#adaptive_avg_pool2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_avg_pool2d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 542

</div>

### adaptive\_avg\_pool3d() {#adaptive_avg_pool3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_avg_pool3d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 544

</div>

### adaptive\_max\_pool() {#adaptive_max_pool}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_max_pool`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 546

</div>

### adaptive\_max\_pool1d() {#adaptive_max_pool1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_max_pool1d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 548

</div>

### adaptive\_max\_pool2d() {#adaptive_max_pool2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_max_pool2d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 550

</div>

### adaptive\_max\_pool3d() {#adaptive_max_pool3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`adaptive_max_pool3d`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `output_size`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 552

</div>

### avg\_pool() {#avg_pool}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`avg_pool`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `count_include_pad`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `divisor_override`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 554

</div>

### avg\_pool1d() {#avg_pool1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`avg_pool1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `count_include_pad`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 556

</div>

### avg\_pool2d() {#avg_pool2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`avg_pool2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `count_include_pad`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `divisor_override`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 558

</div>

### avg\_pool3d() {#avg_pool3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`avg_pool3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `count_include_pad`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `divisor_override`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 560

</div>

### max\_pool() {#max_pool}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max_pool`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 562

</div>

### max\_pool1d() {#max_pool1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max_pool1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 564

</div>

### max\_pool2d() {#max_pool2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max_pool2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 566

</div>

### max\_pool3d() {#max_pool3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`max_pool3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 568

</div>

### max\_pool\_with\_indices() {#max_pool_with_indices}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`max_pool_with_indices`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 570

</div>

### max\_pool1d\_with\_indices() {#max_pool1d_with_indices}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`max_pool1d_with_indices`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 572

</div>

### max\_pool2d\_with\_indices() {#max_pool2d_with_indices}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`max_pool2d_with_indices`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 574

</div>

### max\_pool3d\_with\_indices() {#max_pool3d_with_indices}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`max_pool3d_with_indices`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `stride`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `padding`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dilation`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 576

</div>

### bernoulli() {#bernoulli}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bernoulli`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 578

</div>

### bernoulli\_() {#bernoulli_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`bernoulli_`**([`StreamOrDevice`](./StreamOrDevice.md) `device`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 580

</div>

### exponential\_() {#exponential_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`exponential_`**(`double` `lambd`, [`StreamOrDevice`](./StreamOrDevice.md) `device`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 582

</div>

### multinomial() {#multinomial}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`multinomial`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `num_samples`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `replacement`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `device`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 584

</div>

### normal\_() {#normal_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`normal_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `mean`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `stddev`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `device`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 586

</div>

### poisson() {#poisson}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`poisson`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 588

</div>

### rand\_like() {#rand_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`rand_like`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 590

</div>

### randint\_like() {#randint_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`randint_like`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `low`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `high`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `device`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 592

</div>

### randn\_like() {#randn_like}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`randn_like`**([`StreamOrDevice`](./StreamOrDevice.md) `device`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 594

</div>

### uniform\_() {#uniform_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`uniform_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `low`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`double` `high`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `device`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 596

</div>

### random\_() {#random_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`random_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<std::int64_t>` `low`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<std::int64_t>` `high`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](./StreamOrDevice.md) `device`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 598

</div>

### all() {#all}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`all`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 600

</div>

### amax() {#amax}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`amax`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 602

</div>

### amin() {#amin}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`amin`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 604

</div>

### aminmax() {#aminmax}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`aminmax`**(`std::optional<int64_t>` `dim`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 606

</div>

### any() {#any}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`any`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 608

</div>

### argmax() {#argmax}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`argmax`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `index_dtype`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 610

</div>

### argmin() {#argmin}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`argmin`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `index_dtype`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 612

</div>

### count\_nonzero() {#count_nonzero}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`count_nonzero`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 614

</div>

### logsumexp() {#logsumexp}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logsumexp`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 616

</div>

### median() {#median}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`median`**(`std::optional<int64_t>` `dim`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 618

</div>

### nanmean() {#nanmean}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nanmean`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 620

</div>

### nanmedian() {#nanmedian}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`nanmedian`**(`std::optional<int64_t>` `dim`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 622

</div>

### nansum() {#nansum}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nansum`**([`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`, `bool` `keepdim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 624

</div>

### hash\_tensor() {#hash_tensor}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_tensor`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::HashTensorMode`](./ops/index.md#HashTensorMode) `mode`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 626

</div>

### hash\_64() {#hash_64}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_64`**(`std::uint64_t` `seed`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 628

</div>

### hash\_128() {#hash_128}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_128`**(`std::uint64_t` `seed`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 630

</div>

### hash\_256() {#hash_256}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_256`**(`std::uint64_t` `seed`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 632

</div>

### hash\_chain() {#hash_chain}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_chain`**([`Tensor`](./Tensor.md) `parent`, `std::uint64_t` `seed`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 634

</div>

### hash\_lanes() {#hash_lanes}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`hash_lanes`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::uint64_t` `key`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::HashLaneAlgo`](./ops/index.md#HashLaneAlgo) `algo`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `mask_bits`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 636

</div>

### prod() {#prod}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`prod`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`DataType`](../index.md#DataType) `dtype`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 638

</div>

### std() {#std}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`std`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `correction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 640

</div>

### trace() {#trace}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`trace`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 642

</div>

### var() {#var}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`var`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dims`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `correction`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 644

</div>

### grid\_sample() {#grid_sample}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`grid_sample`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `grid`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::GridSampleMode`](./ops/index.md#GridSampleMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::GridSamplePaddingMode`](./ops/index.md#GridSamplePaddingMode) `padding_mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 646

</div>

### pixel\_shuffle() {#pixel_shuffle}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`pixel_shuffle`**(`int64_t` `upscale_factor`, [`ops::PixelShuffleMode`](./ops/index.md#PixelShuffleMode) `mode`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 648

</div>

### pixel\_unshuffle() {#pixel_unshuffle}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`pixel_unshuffle`**(`int64_t` `downscale_factor`, [`ops::PixelShuffleMode`](./ops/index.md#PixelShuffleMode) `mode`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 650

</div>

### cummax() {#cummax}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`cummax`**(`int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 652

</div>

### cummin() {#cummin}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`cummin`**(`int64_t` `dim`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 654

</div>

### cumprod() {#cumprod}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cumprod`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 656

</div>

### cumprod\_() {#cumprod_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`cumprod_`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 658

</div>

### cumsum() {#cumsum}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cumsum`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 660

</div>

### cumsum\_() {#cumsum_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`cumsum_`**(`int64_t` `dim`, [`DataType`](../index.md#DataType) `dtype`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 662

</div>

### bucketize() {#bucketize}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bucketize`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `boundaries`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `out_int32`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `right`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 664

</div>

### kthvalue() {#kthvalue}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`kthvalue`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 666

</div>

### nanquantile() {#nanquantile}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nanquantile`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::QuantileInterp`](./ops/index.md#QuantileInterp) `interpolation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 668

</div>

### quantile() {#quantile}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`quantile`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::ScalarOrTensor`](./ScalarOrTensor.md) `q`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `keepdim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::QuantileInterp`](./ops/index.md#QuantileInterp) `interpolation`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 670

</div>

### searchsorted() {#searchsorted}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`searchsorted`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `values`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `out_int32`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `right`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `side`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `sorter`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 672

</div>

### topk() {#topk}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`topk`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `k`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `largest`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `sorted`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 674

</div>

### bincount() {#bincount}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`bincount`**([`Tensor`](./Tensor.md) `weights`, `int64_t` `minlength`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 676

</div>

### histogram() {#histogram}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`histogram`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `bins`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `range`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `weight`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `density`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 678

</div>

### unique() {#unique}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`unique`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `sorted`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `return_inverse`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `return_counts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `dim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 680

</div>

### unique\_consecutive() {#unique_consecutive}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `3>` **`unique_consecutive`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `return_inverse`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `return_counts`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `dim`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 682

</div>

### acos() {#acos}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`acos`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 684

</div>

### acos\_() {#acos_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`acos_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 686

</div>

### acosh() {#acosh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`acosh`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 688

</div>

### acosh\_() {#acosh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`acosh_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 690

</div>

### asin() {#asin}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`asin`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 692

</div>

### asin\_() {#asin_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`asin_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 694

</div>

### asinh() {#asinh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`asinh`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 696

</div>

### asinh\_() {#asinh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`asinh_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 698

</div>

### atan() {#atan}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atan`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 700

</div>

### atan\_() {#atan_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`atan_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 702

</div>

### atanh() {#atanh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`atanh`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 704

</div>

### atanh\_() {#atanh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`atanh_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 706

</div>

### clamp\_min() {#clamp_min}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`clamp_min`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `min`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 708

</div>

### clamp\_min\_() {#clamp_min_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`clamp_min_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `min`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 710

</div>

### clamp\_max() {#clamp_max}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`clamp_max`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 712

</div>

### clamp\_max\_() {#clamp_max_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`clamp_max_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `max`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 714

</div>

### cosh() {#cosh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`cosh`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 716

</div>

### cosh\_() {#cosh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`cosh_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 718

</div>

### diff() {#diff}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`diff`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `n`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `prepend`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](./Tensor.md) `append`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 720

</div>

### erf() {#erf}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`erf`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 722

</div>

### erf\_() {#erf_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`erf_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 724

</div>

### erfc() {#erfc}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`erfc`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 726

</div>

### erfc\_() {#erfc_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`erfc_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 728

</div>

### erfinv() {#erfinv}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`erfinv`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 730

</div>

### erfinv\_() {#erfinv_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`erfinv_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 732

</div>

### frac() {#frac}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`frac`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 734

</div>

### frac\_() {#frac_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`frac_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 736

</div>

### frexp() {#frexp}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`frexp`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 738

</div>

### log10() {#log10}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`log10`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 740

</div>

### log10\_() {#log10_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`log10_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 742

</div>

### log1p() {#log1p}

<div class="api-signature">

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

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 744

</div>

### log1p\_() {#log1p_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`log1p_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 746

</div>

### log2() {#log2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`log2`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 748

</div>

### log2\_() {#log2_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`log2_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 750

</div>

### logit() {#logit}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`logit`**(`std::optional<double>` `eps`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 752

</div>

### logit\_() {#logit_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`logit_`**(`std::optional<double>` `eps`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 754

</div>

### nan\_to\_num() {#nan_to_num}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`nan_to_num`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `nan`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `posinf`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `neginf`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 756

</div>

### nan\_to\_num\_() {#nan_to_num_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`nan_to_num_`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `nan`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `posinf`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<double>` `neginf`<br />
)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 758

</div>

### sgn() {#sgn}

<div class="api-signature">

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

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 760

</div>

### sgn\_() {#sgn_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`sgn_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 762

</div>

### sinc() {#sinc}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`sinc`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 764

</div>

### sinc\_() {#sinc_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`sinc_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 766

</div>

### sinh() {#sinh}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`sinh`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 768

</div>

### sinh\_() {#sinh_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`sinh_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 770

</div>

### tan() {#tan}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`tan`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 772

</div>

### tan\_() {#tan_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`tan_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 774

</div>

### softcap\_logits() {#softcap_logits}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`softcap_logits`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `cap`) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 776

</div>

### softcap\_logits\_() {#softcap_logits_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`softcap_logits_`**([`ops::ScalarOrTensor`](./ScalarOrTensor.md) `cap`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 778

</div>

### trunc() {#trunc}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`trunc`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 780

</div>

### trunc\_() {#trunc_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`trunc_`**()

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 782

</div>

### slice(Span\< int64\_t\>, Span\< ops::IndexBound\>, Span\< ops::IndexBound\>, Span\< ops::IndexBound\>) {#slice-2}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`slice`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const std::int64_t>` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexBound`](./ops/IndexBound.md)`>` `start`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexBound`](./ops/IndexBound.md)`>` `end`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::IndexBound`](./ops/IndexBound.md)`>` `step`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 784

</div>

### interpolate() {#interpolate}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`interpolate`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ops::InterpMode`](./ops/index.md#InterpMode) `mode`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<bool>` `align_corners`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `recompute_scale_factor`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `antialias`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 786

</div>

### upsample\_nearest1d() {#upsample_nearest1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_nearest1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 788

</div>

### upsample\_nearest2d() {#upsample_nearest2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_nearest2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 790

</div>

### upsample\_nearest3d() {#upsample_nearest3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_nearest3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 792

</div>

### upsample\_linear1d() {#upsample_linear1d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_linear1d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 794

</div>

### upsample\_bilinear2d() {#upsample_bilinear2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_bilinear2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 796

</div>

### upsample\_trilinear3d() {#upsample_trilinear3d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_trilinear3d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 798

</div>

### upsample\_bicubic2d() {#upsample_bicubic2d}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`upsample_bicubic2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `sizes`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](./Span.md)`<const` [`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `scale_factors`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 800

</div>

### argsort() {#argsort}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`argsort`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `descending`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `stable`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 802

</div>

### sort() {#sort}

<div class="api-signature">

`std::array<`[`Tensor`](./Tensor.md) `2>` **`sort`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::int64_t` `dim`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `descending`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `stable`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 804

</div>

### clamp() {#clamp}

<div class="api-signature">

[`Tensor`](./Tensor.md) **`clamp`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `min`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `max`<br />
) `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 806

</div>

### clamp\_() {#clamp_}

<div class="api-signature">

[`Tensor`](./Tensor.md)`&` **`clamp_`**(`std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `min`, `std::optional<`[`ops::ScalarOrTensor`](./ScalarOrTensor.md)`>` `max`)

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/detail/tensor_methods_decl.inc`, line 808

</div>
