---
title: "ClikaRT::ops::repeat"
sidebar_label: "repeat"
description: "Tile input by per-dim repeat counts: sizes[i] copies along dim i. sizes must carry at least the input's rank; extra LEADING entries add fresh leading dims."
---

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

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

## repeat() {#repeat}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`repeat`**([`Tensor`](../Tensor.md) `input`, [`ClikaRT::Span`](../Span.md)`<const` [`ScalarOrTensor`](../ScalarOrTensor.md)`>` `sizes`)

</div>

Tile `input` by per-dim repeat counts: `sizes[i]` copies along dim `i`.

`sizes` must carry at least the input's rank; extra LEADING entries add fresh leading dims. Counts are literals or 0-D integer Tensors (a tensor count traces symbolically). Copies; [`numel`](./numel.md#numel) scales by the product of the counts.

**Throws**

- `ClikaRT::Error`: (`INVALID_ARGUMENT`) when `sizes` has fewer entries than the rank or a count is negative (`code_name()` carries the reason).

**Returns:** a new tensor with each dim scaled by its count.

```cpp
auto twice = ClikaRT::ops::repeat(x, {2, 1});  // duplicate along dim 0
```

<div class="api-declared">

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

</div>
