small build segment tool improvement

This commit is contained in:
FeralChild64 committed 2020-08-02 14:29:45 +02:00
1 parent 153e17689a
commit 98bd1cc78c
1 file changed
+19 -3
+19 -3
View File
@@ -874,10 +874,26 @@ void BinningProblem::placeHighRoutines(DualStream &logOutput)
while (!floatingRoutines.empty())
{
// Try to find any high routine
// Find the largest high routine
auto iterRoutine = floatingRoutines.begin();
while (iterRoutine != floatingRoutines.end() && !(*iterRoutine)->high) iterRoutine++;
auto iterRoutine = floatingRoutines.end();
for (auto iter = floatingRoutines.begin(); iter < floatingRoutines.end(); iter++)
{
if (!(*iter)->high) continue;
if (iterRoutine == floatingRoutines.end() ||
(*iterRoutine)->codeLength < (*iter)->codeLength)
{
iterRoutine = iter;
continue;
}
if ((*iterRoutine)->codeLength < (*iter)->codeLength)
{
iterRoutine = iter;
}
}
if (iterRoutine == floatingRoutines.end()) break;