best_division = bound;
}
- if (best_for_this_sys_count.systems_per_page_.size () < page_count)
- {
- /* if the pages are stretched on average, stop trying to reduce sys_count */
- Real average_force = 0;
- for (vsize i = 0; i < best_for_this_sys_count.systems_per_page_.size (); i++)
- average_force += best_for_this_sys_count.force_[i];
-
- average_force /= best_for_this_sys_count.page_count ();
- if (average_force > 0)
- break;
- }
+ /* if the pages are stretched on average, stop trying to reduce sys_count */
+ if (best_for_this_sys_count.page_count () < page_count
+ && best_for_this_sys_count.average_force () > 0)
+ break;
+
if (isinf (best_for_this_sys_count.demerits_))
break;
{
return systems_per_page_.size();
}
+
+Real
+Page_spacing_result::average_force () const
+{
+ Real average_force = 0;
+ for (vsize i = 0; i < page_count (); i++)
+ average_force += force_[i];
+
+ average_force /= page_count ();
+ return average_force;
+}