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

◆ compute()

void NCF4::compute ( int softDegreeLimit)

Definition at line 67 of file NCF4.cpp.

68{
69 while (!mOverlapTable.isFinished(softDegreeLimit))
70 {
71 auto degSet = mOverlapTable.nextDegreeOverlaps();
72 auto toBeProcessed = degSet.second;
73 if (M2_gbTrace >= 1)
74 {
75 buffer o;
76 o << "{" << degSet.first << "}(" << toBeProcessed->size() << ")";
77 emit_wrapped(o.str());
78 }
79 mScheduler.execute([this,&toBeProcessed]()
80 {
81 process(*toBeProcessed);
82 });
83
84 mOverlapTable.removeLowestDegree(); // TODO: suspect line.
85 // we really want to just delete toBeProcessed...
86 }
87}
void process(const std::deque< Overlap > &overlapsToProcess)
Definition NCF4.cpp:89
mtbb::task_arena mScheduler
Definition NCF4.hpp:255
OverlapTable mOverlapTable
Definition NCF4.hpp:221
int size()
Definition buffer.hpp:70
char * str()
Definition buffer.hpp:72
int M2_gbTrace
Definition m2-types.cpp:52
void emit_wrapped(const char *s)
Definition text-io.cpp:27

References emit_wrapped(), M2_gbTrace, mOverlapTable, mScheduler, process(), buffer::size(), and buffer::str().