MakeShape
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
功 能 说 明
构 造Shape对 象,用 于 描 述 数 据 的 逻 辑 形 状。支 持 传 入 多 个 维 度 值,也 支 持 传 入 嵌 套 的Shape子 结 构 以 构 造 层 次 化Shape。
函 数 原 型
C++
template <typename... Ts>
__aicore__ inline constexpr Shape<Ts...> MakeShape(const Ts&... t)
参 数 说 明
表 1 模 板 参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| Ts... | 输 入 | Shape各 元 素 的 类 型,可 以 是 整 型 变 量、Std::Int整 型 常 量,或 嵌 套 的Shape子 结 构 类 型。 |
表 2 参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| t | 输 入 | Shape的 各 维 度 取 值 或 子 结 构,可 变 参 数。 |
返 回 值 说 明
返 回Shape<Ts...>对 象。
约 束 说 明
- 输 入 参 数 不 可 为 空
- 输 入 的 参 数 为 正 整 数。
- 支 持 的 数 据 类 型 包 括:size_t、int等 整 数 类 型 或 者Std::Int类 型。
调 用 示 例
C++
using namespace AscendC::Te;
// 构 造 普 通Shape
auto shape = MakeShape(10, 20, 30);
// 构 造 层 次 化Shape
auto fractalShape = MakeShape(MakeShape(16, 8), MakeShape(32, 4));
auto dim0 = Std::get<0>(shape); // dim0 = 10
auto innerRow = Std::get<0>(Std::get<0>(fractalShape)); // innerRow = 16