| 1423 | } |
| 1424 | const bool first = chunk_index == 0; |
| 1425 | const bool last = chunk_index + 1 == starts.size(); |
| 1426 | const int64_t out_start = last ? latent_tokens - kSameChunkLatents : latent_start; |
| 1427 | const int64_t left = first ? 0 : kSameChunkOverlap / 2; |
| 1428 | const int64_t right = last ? kSameChunkLatents : kSameChunkLatents - kSameChunkOverlap / 2; |
| 1429 | for (int64_t c = 0; c < config.latent_dim; ++c) { |
| 1430 | for (int64_t t = left; t < right; ++t) { |
| 1431 | out[static_cast<size_t>(c * latent_tokens + out_start + t)] = |