|
4 | 4 |
|
5 | 5 | #pragma once |
6 | 6 |
|
| 7 | +#include "gl/types/core.hpp" |
7 | 8 | #include "hgl/constants.hpp" |
8 | 9 | #include "hgl/decl/impl_tags.hpp" |
9 | 10 | #include "hgl/directional_tags.hpp" |
@@ -181,14 +182,13 @@ class incidence_matrix<hgl::undirected_t, ImplTag> final { |
181 | 182 | template <element_type Element> |
182 | 183 | gl_attr_force_inline auto _incident_with(const id_type id) const noexcept { |
183 | 184 | if constexpr (Element == layout_tag::major_element) { // incident with major |
184 | | - return std::views::iota(initial_id_v<size_type>, this->_matrix_row_size) |
185 | | - | std::views::filter([&row = this->_matrix[to_idx(id)]](const size_type minor_idx |
186 | | - ) { return row[minor_idx]; }); |
| 185 | + return std::views::iota(initial_id_v<id_type>, this->_matrix_row_size) |
| 186 | + | std::views::filter([&row = this->_matrix[to_idx(id)]](id_type minor_id) { return row[to_idx(minor_id)]; }); |
187 | 187 | } |
188 | 188 | else { // incident with minor |
189 | | - return std::views::iota(initial_id_v<size_type>, this->_matrix.size()) |
190 | | - | std::views::filter([this, minor_idx = to_idx(id)](const size_type major_idx) { |
191 | | - return this->_matrix[major_idx][minor_idx]; |
| 189 | + return std::views::iota(initial_id_v<id_type>, this->_matrix.size()) |
| 190 | + | std::views::filter([this, minor_idx = to_idx(id)](id_type major_id) { |
| 191 | + return this->_matrix[to_idx(major_id)][minor_idx]; |
192 | 192 | }); |
193 | 193 | } |
194 | 194 | } |
@@ -479,16 +479,16 @@ class incidence_matrix<hgl::bf_directed_t, ImplTag> final { |
479 | 479 | const id_type id, std::predicate<incidence_type> auto&& pred |
480 | 480 | ) const noexcept { |
481 | 481 | if constexpr (Element == layout_tag::major_element) { // query major |
482 | | - return std::views::iota(initial_id_v<size_type>, this->_matrix_row_size) |
483 | | - | std::views::filter([&row = this->_matrix[to_idx(id)], |
484 | | - pred](const size_type minor_idx) { |
485 | | - return pred(row[minor_idx]); |
| 482 | + return std::views::iota(initial_id_v<id_type>, this->_matrix_row_size) |
| 483 | + | std::views::filter([&row = this->_matrix[to_idx(id)], pred](id_type minor_id) { |
| 484 | + return pred(row[to_idx(minor_id)]); |
486 | 485 | }); |
487 | 486 | } |
488 | 487 | else { // query minor |
489 | | - return std::views::iota(initial_id_v<size_type>, this->_matrix.size()) |
490 | | - | std::views::filter([this, minor_idx = to_idx(id), pred](const size_type major_idx |
491 | | - ) { return pred(this->_matrix[major_idx][minor_idx]); }); |
| 488 | + return std::views::iota(initial_id_v<id_type>, this->_matrix.size()) |
| 489 | + | std::views::filter([this, minor_idx = to_idx(id), pred](id_type major_id) { |
| 490 | + return pred(this->_matrix[to_idx(major_id)][minor_idx]); |
| 491 | + }); |
492 | 492 | } |
493 | 493 | } |
494 | 494 |
|
|
0 commit comments