Gecode: Current development

This is a list of changes between the last release version of Gecode and the current development trunk.

Note that this describes work in progress, and not all changes will necessarily go into the next release.

  • Kernel
    • Additions
      • Added Archive operators for floats and doubles. (minor)
    • Other changes
      • Throw exception when the user-defined copy constructor of a class that inherits from Space does not call the Space copy constructor. (minor)
  • Finite domain integers
    • Other changes
      • Throw exception of type OutOfLimits instead of Exception when numerical arguments to sequence constraint are out of range. (minor)
    • Bug fixes
      • Added missing pruning to cumulative edge finding propagator. (minor, thanks to Joseph Scott)
      • Fixed sorted constraint to accept zero-length arrays. (minor, thanks to Kish Shen)
      • Added some missing propagation when posting a channel constraint between an array of Boolean variables and an integer variable. (minor, thanks to Kish Shen)
    • Performance improvements
      • Posting a reified dom constraint on IntVars with an assigned control variable does not create propagators any more, but updates the domain immediately. (minor)
  • Finite integer sets
    • Additions
      • Added channeling constraint between arrays of set variables. (major)
    • Bug fixes
      • The element constraint with SOT_UNION and IntSetArgs reported subsumption too early, resulting in incorrect propagation. (major, thanks to Denys Duchier)
  • Minimal modeling support
    • Other changes
      • Made implementations of MiniModel expressions private, so that the MiniModel headers do not have to include propagator headers like gecode/int/linear.hh any longer. (minor)
    • Bug fixes
      • The BoolExpr default constructor did not properly initialize its members, causing crashes. (minor)
  • Script commandline driver
    • Additions
      • The command line -print-last configures whether only the last solution found is printed. (minor, thanks to Josef Eisl)
    • Other changes
      • Boolean options (BoolOption) can now be given a false or true argument and hence are in-line with all other option types. (minor)
    • Bug fixes
      • Fixed rounding for printing the runtime (for example, 1:60:56.157 could be printed...). (minor, thanks to Serge Le Huitouze)
      • Fixed time output for times with zero minutes but nonzero hours. (minor, thanks to Jan Kelbel)
  • Gecode/FlatZinc
    • Additions
      • Added native support for the inverse_set constraint. (minor)
    • Bug fixes
      • Do not crash when encountering undefined identifier as constraint argument. (minor, thanks to Nicholas Tung)
  • General
    • Additions
      • Added a macro GECODE_VERSION_NUMBER that is defined as x*1000000+y*100+z for Gecode version x.y.z. (minor, thanks to Denys Duchier)