38 namespace Gecode {
namespace Int {
namespace BinPacking {
100 : n(0), t(0), s(region.alloc<int>(n_max)) {}
103 t += s0;
s[
n++] = s0;
122 :
SizeSet(region,n_max), p(-1) {}
144 return s[(i <
p) ? i : i+1];
175 return sizeof(*this);
178 template<
class SizeSet>
181 if ((a <= 0) || (b >= s.
total()))
186 while (sc + s[n-kp] < a) {
191 int sa=0, sb = s[n-kp];
192 while ((sa < a) && (sb <= b)) {
198 while (sa + sc >= a) {
201 sb += s[n-kp] - s[n-kp-k-1];
205 ap = sa + sc; bp = sb;
209 template<
class SizeSet>
213 return nosum(s, a, b, ap, bp);