Macaulay2 Engine
Loading...
Searching...
No Matches

◆ remove_unneeded_pairs()

int F4SPairSet::remove_unneeded_pairs ( )
private

Definition at line 90 of file f4-spairs.cpp.

91{
92 // Loop through every spair, determine if it can be jettisoned
93 // and do so. Return the number removed.
94
95 // MES: Check the ones in this_set? Probably not needed...
96
97 if (gb.size() == 0) return 0;
98
99 gbelem *m = gb[gb.size() - 1];
100 //long nremoved = 0;
101
102#if defined(WITH_TBB)
103 mScheduler.execute([&] {
104 mtbb::parallel_for(mtbb::blocked_range<int>{0, INTSIZE(mSPairs)},
105 [&](const mtbb::blocked_range<int>& r)
106 {
107 for (auto i = r.begin(); i != r.end(); ++i)
108 {
109 if (pair_not_needed(&mSPairs[i],m))
110 {
111 mSPairs[i].type = SPairType::Retired;
112 }
113 }
114 });
115 });
116#else
117 for (auto& p : mSPairs)
118 {
119 if (pair_not_needed(&p,m))
120 {
121 p.type = SPairType::Retired;
122 //++nremoved;
123 }
124 }
125#endif
126 return 0;
127 //return nremoved;
128
129}
std::vector< spair > mSPairs
const gb_array & gb
bool pair_not_needed(spair *p, gbelem *m)
Definition f4-spairs.cpp:81
int p
#define INTSIZE(a)
Definition style.hpp:37

References gb, INTSIZE, mSPairs, p, pair_not_needed(), and Retired.

Referenced by find_new_pairs().