namespace ov::op::reshape

Overview

namespace reshape {

// structs

template <class T, class U = void>
struct Product;
template <class T>
struct Product<T, typename std::enable_if<std::is_same<T, Dimension>::value>::type>;
template <class T>
struct Product<T, typename std::enable_if<!std::is_same<T, Dimension>::value>::type>;

// global functions

template <
    class TDim,
    typename std::enable_if<std::is_same<typename std::decay<TDim>::type, Dimension>::value>::type \* = nullptr
    >
TDim resolve_minus_one_dim(const Product<TDim>& product);

template <class TShape>
std::pair<TShape, int64_t> get_pattern_and_minus_one_idx(
    const Node \*const op,
    const std::vector<std::pair<int64_t, int64_t>>& bounds
    );

template <
    class TShape,
    typename std::enable_if<std::is_same<TShape, PartialShape>::value>::type \* = nullptr
    >
void set_pattern_labels(
    const Node \*const op,
    TShape& shape
    );

} // namespace reshape

Detailed Documentation

Global Functions

template <class TShape>
std::pair<TShape, int64_t> get_pattern_and_minus_one_idx(
    const Node \*const op,
    const std::vector<std::pair<int64_t, int64_t>>& bounds
    )

Get the pattern and minus one idx from input bounds.

Parameters:

op

Pointer to reshape node.

bounds

Vector of reshape pattern bounds.

Returns:

Pair which got bounds converted to shape and minus_one index in pattern (-1 if not found).

template <
    class TShape,
    typename std::enable_if<std::is_same<TShape, PartialShape>::value>::type \* = nullptr
    >
void set_pattern_labels(
    const Node \*const op,
    TShape& shape
    )

Set the pattern labels on pattern shape if this input is labeled.

Shapes other than PartialShape have no labels.

Parameters:

op

Pointer to reshape node.

shape

Pointer to shape for labels set.