| 80 | } |
| 81 | |
| 82 | inline |
| 83 | ExtAssignment::ExtAssignment(int n, const Gecode::FloatVal& d, Gecode::FloatNum s, const Test* pb, |
| 84 | Gecode::Support::RandomGenerator& rand) |
| 85 | : Assignment(n,d),curPb(pb), |
| 86 | dsv(new Gecode::FloatVal[static_cast<unsigned int>(n)]), |
| 87 | step(s) { |
| 88 | using namespace Gecode; |
| 89 | for (int i=n-1; i--; ) |
| 90 | dsv[i] = FloatVal(d.min(),nextafter(d.min(),d.max())); |
| 91 | (*this).next(rand); |
| 92 | } |
| 93 | inline bool |
| 94 | ExtAssignment::has_more() const { |
| 95 | return dsv[0].min() <= d.max(); |