|
LMMC
Lamina Mathematic core
|
三阶张量的零拷贝重塑与切片。 更多...
函数 | |
| lmmc_status_t | lmmc_tensor3_reshape_view (const lmmc_tensor3_t *tensor, size_t new_dim0, size_t new_dim1, size_t new_dim2, lmmc_tensor3_t *out_view) |
| 在元素总数与连续布局兼容时,构造共享缓冲区的重塑视图。 | |
| lmmc_status_t | lmmc_tensor3_slice_view (const lmmc_tensor3_t *tensor, size_t begin0, size_t end0, size_t begin1, size_t end1, size_t begin2, size_t end2, lmmc_tensor3_t *out_view) |
| 取张量子区间视图,每维使用半开区间 [begin, end)。 | |
三阶张量的零拷贝重塑与切片。
在文件 tensor3_views.c 中定义.
| lmmc_status_t lmmc_tensor3_reshape_view | ( | const lmmc_tensor3_t * | tensor, |
| size_t | new_dim0, | ||
| size_t | new_dim1, | ||
| size_t | new_dim2, | ||
| lmmc_tensor3_t * | out_view ) |
在元素总数与连续布局兼容时,构造共享缓冲区的重塑视图。
非拥有型视图支持原地重塑;拥有数据的 tensor 须使用独立的 out_view。 元素总数溢出返回 ::LMMC_STATUS_INVALID_ARGUMENT; 可表示但不相等的元素总数返回 ::LMMC_STATUS_DIMENSION_MISMATCH。
在文件 tensor3_views.c 第 21 行定义.
引用了 lmmc_tensor3_t::data, lmmc_tensor_nd_t::data, lmmc_tensor3_t::dim0, lmmc_tensor3_t::dim1, lmmc_tensor3_t::dim2, lmmc_tensor_nd_t::dims, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_tensor3_reshape_view(), lmmc_tensor_nd_reshape_view(), lmmc_tensor_nd_t::ndim, lmmc_tensor3_t::owns_data, lmmc_tensor_nd_t::owns_data, lmmc_tensor3_t::stride0, lmmc_tensor3_t::stride1, lmmc_tensor3_t::stride2 , 以及 lmmc_tensor_nd_t::strides.
被这些函数引用 lmmc_tensor3_reshape_view().
| lmmc_status_t lmmc_tensor3_slice_view | ( | const lmmc_tensor3_t * | tensor, |
| size_t | begin0, | ||
| size_t | end0, | ||
| size_t | begin1, | ||
| size_t | end1, | ||
| size_t | begin2, | ||
| size_t | end2, | ||
| lmmc_tensor3_t * | out_view ) |
取张量子区间视图,每维使用半开区间 [begin, end)。
在文件 tensor3_views.c 第 91 行定义.
引用了 lmmc_tensor3_t::data, lmmc_tensor3_t::dim0, lmmc_tensor3_t::dim1, lmmc_tensor3_t::dim2, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_tensor3_slice_view(), lmmc_tensor3_t::owns_data, lmmc_tensor3_t::stride0, lmmc_tensor3_t::stride1 , 以及 lmmc_tensor3_t::stride2.
被这些函数引用 lmmc_tensor3_slice_view().