aboutsummaryrefslogtreecommitdiffstats
path: root/eval/src/vespa/eval/instruction/dense_lambda_peek_optimizer.h
blob: 325934f2e83bbbc8503c9b409cd8d476562bc3de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include <vespa/eval/eval/tensor_function.h>

namespace vespalib::eval {

/**
 * Tensor lambda optimizer for creating a new dense tensor based on
 * peeking cells of a single existing tensor. This can represent a
 * wide area of operations (reshape, gather, slice).
 **/
struct DenseLambdaPeekOptimizer {
    static const TensorFunction &optimize(const TensorFunction &expr, Stash &stash);
};

}