| 1804 | return result; |
| 1805 | } |
| 1806 | shape_transform_descriptor shape_transform_descriptor::to_src_from_common() const |
| 1807 | { |
| 1808 | shape_transform_descriptor result; |
| 1809 | auto subs = get_all_subdimensions(dimensions); |
| 1810 | result.rank = subs.size(); |
| 1811 | transform(group_axes(subs), std::back_inserter(result.dimensions), [&](auto&& p) -> dimension { |
| 1812 | const auto& [axis, gsubs] = p; |
| 1813 | std::vector<dimension::sub> subdimensions; |
| 1814 | transform(gsubs, std::back_inserter(subdimensions), [&](const dimension::sub* s) { |
| 1815 | dimension::sub result = *s; |
| 1816 | std::size_t i = s - subs.data(); |
| 1817 | set_origin_axis(result, {i}); |
| 1818 | result.expose(); |
| 1819 | return result; |
| 1820 | }); |
| 1821 | return {subdimensions}; |
| 1822 | }); |
| 1823 | result.simplify(); |
| 1824 | return result; |
| 1825 | } |
| 1826 | |
| 1827 | std::vector<std::vector<std::size_t>> shape_transform_descriptor::common_axes_map_from_src() const |
| 1828 | { |
no test coverage detected