@@ -22,6 +22,12 @@ namespace segre{
22
22
const VeldkampLineTableEntryWithLines<Dimension, NbrPointsPerLine>& lines_table_entry,
23
23
const std::vector<std::vector<unsigned int >>& hyp_permutations_table
24
24
);
25
+
26
+ template <size_t Dimension, size_t NbrPointsPerLine, size_t NbrPoints = math::pow(NbrPointsPerLine, Dimension)>
27
+ std::vector<VeldkampLineTableEntry> separateByPermutations (
28
+ const std::vector<VeldkampLineTableEntryWithLines<Dimension, NbrPointsPerLine>>& lin_table_with_lines,
29
+ const std::vector<std::vector<unsigned int >>& hyp_permutations_table
30
+ );
25
31
}
26
32
27
33
// Implementations
@@ -75,6 +81,20 @@ namespace segre {
75
81
76
82
return output_table;
77
83
}
84
+
85
+ template <size_t Dimension, size_t NbrPointsPerLine, size_t NbrPoints = math::pow(NbrPointsPerLine, Dimension)>
86
+ std::vector<VeldkampLineTableEntry> separateByPermutations (
87
+ const std::vector<VeldkampLineTableEntryWithLines<Dimension, NbrPointsPerLine>>& lin_table_with_lines,
88
+ const std::vector<std::vector<unsigned int >>& hyp_permutations_table
89
+ ){
90
+ std::vector<VeldkampLineTableEntry> output_table;
91
+ for (const VeldkampLineTableEntryWithLines<Dimension, NbrPointsPerLine>& lines_table_entry : lin_table_with_lines){
92
+ for (VeldkampLineTableEntry& entry : separateByPermutations<Dimension, NbrPointsPerLine>(lines_table_entry, hyp_permutations_table)){
93
+ output_table.push_back (std::move (entry));
94
+ }
95
+ }
96
+ return output_table;
97
+ }
78
98
}
79
99
80
100
0 commit comments