| 128 | } |
| 129 | |
| 130 | std::vector<shape> reduce_dims(const std::vector<shape>& shapes) |
| 131 | { |
| 132 | if(shapes.empty()) |
| 133 | return {}; |
| 134 | auto result = shapes; |
| 135 | auto base = base_lens(shapes); |
| 136 | for(auto&& s : shapes) |
| 137 | { |
| 138 | if(s.lens().size() != base.size()) |
| 139 | return shapes; |
| 140 | if(s.lens() == base) |
| 141 | continue; |
| 142 | auto mshape = mask_shape(s, base); |
| 143 | if(mshape.lens().size() != base.size()) |
| 144 | return shapes; |
| 145 | result.push_back(mshape); |
| 146 | } |
| 147 | reduce_dim_all(result); |
| 148 | result.erase(result.begin() + shapes.size(), result.end()); |
| 149 | return result; |
| 150 | } |
| 151 | |
| 152 | } // namespace MIGRAPHX_INLINE_NS |
| 153 | } // namespace migraphx |
no test coverage detected